Merhaba arkadaşlar bir konuda yardım edebilir misiniz ?
<?php $ekyazar=mysql_query( "SELECT * FROM makaleyazar WHERE makale ='$makale->id' ORDER BY sira ASC ");
while($ekyaz=mysql_fetch_object($ekyazar)){ ?>
<?php echo $ekyaz->adi;?>,
<?php } ?>
şeklinde bir While döngüsü olsun. Bu döngünün içindeki "$ekyaz->adi;" verilerinin hepsinin virgülle ayrılarak veya yanyana farklı bir satırda kullanabilir miyiz ?
Döngünün dışında bir yerde kullanmak istiyorum..
While döngüsündeki veriyi sonra kullanmak
12
●777
- 07-02-2018, 06:34:31
<?php $ekyazar=mysql_query( "SELECT * FROM makaleyazar WHERE makale ='$makale->id' ORDER BY sira ASC "); while($ekyaz=mysql_fetch_object($ekyazar)){ $adlar[] = $ekyaz->adi; } $adlar = implode(", ",$adlar); echo $adlar; // Ad1, Ad2, Ad3 ?> - 07-02-2018, 07:20:04Çalışmadı efendim bir skıntı var sanırım.Responsive adlı üyeden alıntı: mesajı görüntüle
- 07-02-2018, 07:53:29@gencduyu; nesi çalışmadı anlamadım. döngü içerisinde gelen isimleri bir diziye ekleyip döngü dışında birleştiriyorsunuz. while öncesinde bir dizi tanımlayın, $dizi = array(); gibi, while içerisinde de bu diziye ekleyeceklerinizi $dizi[] = değer şeklinde ekleyin. döngü sonrasında isterseniz bunları implode fonksiyonu ile birleştirin. bu kadar.
- 07-02-2018, 08:06:27evet kullanılabilir. ama en son döngüdeki veri kullanılır. eğer tümünü kullanmak isterseniz farklı bir değişkene atıp sonra tekrar kullanacaksınız
alıntı değişkenini boş array olarak tanımlamanız gerekliResponsive adlı üyeden alıntı: mesajı görüntüle - 08-02-2018, 02:16:44$dizi[] kullandığım için 500 hatası veriyor bu işlemi başka bir mantıkla yapamam mı ?Responsive adlı üyeden alıntı: mesajı görüntüle
- 08-02-2018, 02:45:37Aslında @Responsive 'in belirttiği yol en pratik ve doğru yoldur. 2. bir yolda değişkene atama yapmak. iki yolunda aşağıda örneklerini paylaşıyorum.gencduyu adlı üyeden alıntı: mesajı görüntüle
1.yol: (arraya atayıp implode ile birleştirme)
<?php $ekyazar=mysql_query( "SELECT * FROM makaleyazar WHERE makale ='$makale->id' ORDER BY sira ASC "); while($ekyaz=mysql_fetch_object($ekyazar)){ $adlar[] = $ekyaz->adi; } $adlar_text = implode(", ",$adlar); echo $adlar_text; // Ad1, Ad2, Ad3 ?>2. yol: (değişkene atamak)
<?php $adlar_string = ''; $ekyazar=mysql_query( "SELECT * FROM makaleyazar WHERE makale ='$makale->id' ORDER BY sira ASC "); while($ekyaz=mysql_fetch_object($ekyazar)){ $adlar_string .= $ekyaz->adi . ', '; } echo $adlar_string; // Ad1, Ad2, Ad3 , ?> - 08-02-2018, 20:05:13HTTP ERROR 500 hatası veriyor ikiside yani anlayamadım.yasarkemaldag adlı üyeden alıntı: mesajı görüntüle
- 08-02-2018, 21:09:44herhangi bir yerde yazım hatası vs. yapıyor olabilirsiniz, error_log dosyanızı kontrol edin veya php.ini üzerinden display_errors=On yaparak ekran hataları açarak net hata koduna ulaşabilirsiniz.gencduyu adlı üyeden alıntı: mesajı görüntüle