lostyazilim
tr.link

[Çözüldü] While döngüsü ile gelen veriyi değişkene atamak

5 Mesajlar 1.470 Okunma
acebozum
tr.link

Exor Exor WM Aracı Kullanıcı
  • Üyelik 07.11.2013
  • Yaş/Cinsiyet 38 / E
  • Meslek Web&Grafik Tasarım
  • Konum Samsun
  • Ad Soyad B** B**
  • Mesajlar 169
  • Beğeniler 16 / 7
  • Ticaret 0, (%0)
Merhabalar,
Bir hatırlatıcı sistemi yazdım takvim gibi ve ilk 5 tarihi bana sms olarak bildirmesini istiyorum.
Sms modülü tamam. (iletimerkezi)
Herşey hazır tek sorun. ilk 5 tarihli verileri çekiyorum fakat sms modülü $mesaj değişkenini gönderiyor. Fakat veritabanından gelen 5 veri olduğu için değişkende sıkıntı yaşıyorum. Aşağıda daha detaylı anlatacağım.


require_once ('baglan.php');
require_once ('includes/sms.class.php');
$sms = new smsGonder;
$numara = '05419565455';
$hatirlatilacakcek=mysql_query("SELECT * FROM hatirlat ORDER BY start ASC");
while($hc=mysql_fetch_array($hatirlatilacakcek)){
echo $hc['title'].' - '.date('d.m.Y', strtotime($hc['start'])).'
';
}
$mesaj = 'Bu bir deneme mesajıdır.';
$cevap = $sms->sendSms($numara, $mesaj);

if ($cevap == '200') {
$sobakiye=$sms->getBalance();
$smslogkayit=mysql_query("INSERT INTO smsonay (sodurum,sobakiye,sohata) VALUES ('1','$sobakiye','$cevap')");
}else {
$sobakiye=$sms->getBalance();
$smslogkayit=mysql_query("INSERT INTO smsonay (sodurum,sobakiye,sohata) VALUES ('2','$sobakiye','$cevap')");
}
?>


Bu kodlarda görülen 8inci satırda; ilk 5 hatırlatıcı ismi ve tarihi gösteriyor.
10uncu satırda; mesaj değişkeni içinde istenilen mesaj sms olarak gönderiliyor.
Benim yapmak isteyip yapamadığım ise mesaj değişkenine while döngüsünden gelen verileri tek seferde yazdırıp sms olarak gönderebilmek.

Bunu nasıl yapabilirim sizce? Açıklayıcı şekilde yazarsanız çok memnun olurum. Şimdiden teşekkür ederim.
 

 

wmaraci
reklam

MuhammedArslan MuhammedArslan Msa Web Tasarım Kullanıcı
  • Üyelik 19.02.2017
  • Yaş/Cinsiyet 24 / E
  • Meslek Web Developer
  • Konum Bursa
  • Ad Soyad M** A**
  • Mesajlar 933
  • Beğeniler 136 / 276
  • Ticaret 11, (%100)
while döngüsünün hemen üstüne boş bir değişken tanıma;

$text = '';


Daha sonra;

echo $hc['title'].' - '.date('d.m.Y', strtotime($hc['start']));

kodunu

$text .= $hc['title'].' - '.date('d.m.Y', strtotime($hc['start']));


olarak değiştir. Döngünün dışında ise echo $text diyerek döngünün sonucuna ulaşabilirsin.
ibrahimdemir

kişi bu mesajı beğendi.

Exor Exor WM Aracı Kullanıcı
  • Üyelik 07.11.2013
  • Yaş/Cinsiyet 38 / E
  • Meslek Web&Grafik Tasarım
  • Konum Samsun
  • Ad Soyad B** B**
  • Mesajlar 169
  • Beğeniler 16 / 7
  • Ticaret 0, (%0)
Dediğini yapıp while döngüsünün dışına taşıdım. Fakat hala yazdırmada problem yaşıyorum nedense.

require_once ('baglan.php');
require_once ('includes/sms.class.php');
$sms = new smsGonder;
$numara = '05419565455';
$hatirlatilacakcek=mysql_query("SELECT * FROM hatirlat ORDER BY start ASC");
$mesaj='';
while($hc=mysql_fetch_array($hatirlatilacakcek)){
$mesaj.= $hc['title'].' - '.date('d.m.Y', strtotime($hc['start'])).'
';
}
$cevap = $sms->sendSms($numara, $mesaj);

if ($cevap == '200') {
$sobakiye=$sms->getBalance();
$smslogkayit=mysql_query("INSERT INTO smsonay (sodurum,sobakiye,sohata) VALUES ('1','$sobakiye','$cevap')");
}else {
$sobakiye=$sms->getBalance();
$smslogkayit=mysql_query("INSERT INTO smsonay (sodurum,sobakiye,sohata) VALUES ('2','$sobakiye','$cevap')");
echo mysql_error();
}
?>


Son hali bu oldu fakat nedense gönderim durumunu 2 olarak kaydedip duruyor.
(1-Başarılı, 2-Başarısız)
Burada bir yanlışlık varda ben mi göremiyorum.

Ayrı olarak bir sayfa oluşturup dediğinizi yaptığımda ekrana sorunsuz yazdırdı.
mesaj değişkenini başka bir değişkene atayarak tekrar yazdırdım ($yenimesaj=$mesaj) ayrı oluşturduğumda yine çalıştı benim kodlarda çalışmadı.
 

 

tiwaly tiwaly NodeJS / PHP / NoSQL Kullanıcı
  • Üyelik 10.10.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek Yazılımcı
  • Konum İzmir
  • Ad Soyad i** A**
  • Mesajlar 363
  • Beğeniler 135 / 104
  • Ticaret 7, (%100)
iletimerkezi apisinde mesaj gönderirken karakter sınırı olabilir mi ? 160 karakteri geçiyorsa belki o sebeple göndermiyordur.
 

 

wmaraci
wmaraci

Exor Exor WM Aracı Kullanıcı
  • Üyelik 07.11.2013
  • Yaş/Cinsiyet 38 / E
  • Meslek Web&Grafik Tasarım
  • Konum Samsun
  • Ad Soyad B** B**
  • Mesajlar 169
  • Beğeniler 16 / 7
  • Ticaret 0, (%0)
160 karakter sınırını da uygun hale getirdim fakat hala başarısız uyarısı alıyorum.

Edit: Döngü ile yaptığımda gönderim başarısız diyor. Fakat;
$mesaj='Bu bir deneme mesajıdır.';
yazdığımda başarılı bir şekilde sms gidiyor.

Son Edit: { Çözüm }
Sıkıntıyı buldum. Normal gönderimde gönderip while ile göndermediğinde içerikte birşey olduğunu düşündüm ve haklıymışım.
Sonda bulunan
kodu gönderimi engelliyormuş.

Yardımcı olan arkadaşlara teşekkür ederim.
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al