Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

while içinde while kullanımı?

umit_agdeniz

0
Onaylı Üye
Üye
Katılım
21 Mayıs 2010
Mesajlar
1,462
Açılan Konu
86
Tepki puanı
23
Konum
Maraşlıyık edem
PHP:
$katcek=mysql_query("select*from kategoriler");

while($katyaz=mysql_fetch_array($katcek))
{
echo $katyaz['adi'];
echo $katyaz['kat_id'];
$altkatcek=mysql_query("select*from alt_kategoriler where kategori_id='".$katyaz['kat_id']."' ");
while($altkatyaz=mysql_fetch_array($altkatcek))
{
echo $altkatyaz['adi'];
}
}

Arkadaşlar ikinci while bloğunu birinci while bloğunun dışına yazdığımda çalışıyor ancak içine yazdığımda (iç içe while kullandığımda) çalıştıramadım bir türlü.Bir de siz bakarmısınız?
 

GNeRaL

0
Onaylı Üye
Üye
Katılım
24 Şubat 2005
Mesajlar
2,869
Açılan Konu
234
Tepki puanı
18
Konum
Samsun
Tek while sorgusu işini görmüyor mu? 2. de yapmak istediğini ilkte yapsan?
 

umit_agdeniz

0
Onaylı Üye
Üye
Katılım
21 Mayıs 2010
Mesajlar
1,462
Açılan Konu
86
Tepki puanı
23
Konum
Maraşlıyık edem
Tek while sorgusu işini görmüyor mu? 2. de yapmak istediğini ilkte yapsan?
olmuyor hocam o zaman ikisini de çekmiyor,aşağıdaki şekilde denedim bomboş çıkıyor :(

PHP:
$katcek=mysql_query("select*from kategoriler");

while($katyaz=mysql_fetch_array($katcek) and $altkatyaz=mysql_fetch_array($altkatcek) )
{
echo $katyaz['adi'];
echo $katyaz['kat_id'];

$altkatcek=mysql_query("select*from alt_kategoriler where kategori_id='".$katyaz['kat_id']."' ");


echo $altkatyaz['adi'];

}
 

killinq

0
Onaylı Üye
Üye
Katılım
16 Haziran 2010
Mesajlar
26
Açılan Konu
3
Tepki puanı
0
Belki sorununu çözmüşsündür ama ...Böyle denersen olur...
PHP:
$katcek=mysql_query("select * from kategoriler");

while($katyaz=mysql_fetch_array($katcek))
{
echo $katyaz['adi'];
echo $katyaz['kat_id'];
$altkatcek=mysql_query("select*from alt_kategoriler where kategori_id='".$katyaz['kat_id']."' ");}
while($altkatyaz=mysql_fetch_array($altkatcek))
{
echo $altkatyaz['adi'];
}

$katyaz'ı kullanmaya ihtiyacın varsa yeni bir while açarsın (Ama normalde while içinde(senin yaptığın gibi)kullanılabilir):)
 

Angelo

0
Onaylı Üye
Üye
Katılım
13 Aralık 2004
Mesajlar
9,603
Açılan Konu
164
Tepki puanı
106
Konum
AZ
Bu kullanım yanlış. Bu stilde ana kategori sayısı kadar alt sorgu yaptırıyorsun while'da.

Kod:
SELECT k.adi AS ana_kategori, ak.adi AS alt_kategori
FROM kategoriler k
INNER JOIN alt_kategoriler ak ON ak.kategori_id=k.kat_id
ORDER BY k.kat_id ASC

Bu tek sorguyla tüm ağacı alırsın.
 
Üst