while içinde while kullanımı?

0
Onaylı Üye
Üye
Katılım
21 Mayıs 2010
Mesajlar
1,462
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?
 
0
Onaylı Üye
Üye
Katılım
23 Şubat 2005
Mesajlar
2,869
Tepki puanı
18
Konum
Samsun
Tek while sorgusu işini görmüyor mu? 2. de yapmak istediğini ilkte yapsan?
 
0
Onaylı Üye
Üye
Katılım
21 Mayıs 2010
Mesajlar
1,462
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'];

}
 
0
Onaylı Üye
Üye
Katılım
16 Haziran 2010
Mesajlar
26
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):)
 
0
Onaylı Üye
Üye
Katılım
12 Aralık 2004
Mesajlar
9,603
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.
 
Geri
Üst