GROUP_CONCAT İLE LİSTELEMEDE SORUN YARDIM

0
Onaylı Üye
Üye
Katılım
26 Ekim 2006
Mesajlar
336
Tepki puanı
1
S.a arkadaşlar hayırlı ramazanlar,
Kategoriler ve icerik adında iki tablom var tablolar arası kategori_id alışverişi var.Tek seferde kategori adlarını ve onlara ait olan icerikleri ve id leri çekmem icap ediyor.
Çıktı:
[kategori_adi] = [icerik1id,icerik2id,icerik3id]
Benim yapmaya çalıştıgım çıktı:
[kategori_adi] = [icerik_1,1_id,icerik_2,2_id,icerik_3,3_id]
Kodum:
PHP:
$sql =mysql_query("SELECT GROUP_CONCAT(icerik_adi,icerik_id) as icerik_id,kategori_adi FROM kategoriler AS k,icerik AS i WHERE k.kategori_id=i.kategori_id GROUP BY kategori_adi");
        while($satir =mysql_fetch_array($sql)){
        	$kategori_adi = $satir->kategori_adi;
        	$icerik_adi = $satir->icerik_adi;
        	$icerik_id = $satir->icerik_id;
        	echo $kategori_adi.'<br>';
        	echo $icerik_adi.'<br>';
                echo $icerik_id.'<br>';
        	}
Sanırım sql kodunda hata yapıyorum. Bunun başka yolları varmıdır alternatif kodlar olabilir. Yardımcı olursanız çok makbule geçer.
Saygılar..
 
0
Onaylı Üye
Üye
Katılım
12 Mart 2008
Mesajlar
1,005
Tepki puanı
1
Konum
Anadolu
SELECT * FROM table1,table2 WHERE table1.id=table2.id;

SELECT * FROM table1 LEFT JOIN table2 ON table1.id=table2.id;

SELECT * FROM table1 LEFT JOIN table2 USING (id);

SELECT * FROM table1 LEFT JOIN table2 ON table1.id=table2.id
LEFT JOIN table3 ON table2.id=table3.id;

üstteki örnekler işini görür sanırım.
 
0
Onaylı Üye
Üye
Katılım
24 Mart 2008
Mesajlar
424
Tepki puanı
1
PHP:
 mysql_query("SELECT GROUP_CONCAT(icerik_adi ORDER BY icerik_id DESC), GROUP_CONCAT(icerik_id ORDER BY icerik_id DESC) from $table");

Birde bu şekilde deneyin
 
0
Onaylı Üye
Üye
Katılım
26 Ekim 2006
Mesajlar
336
Tepki puanı
1
Bu şekilde çözdüm mesajlarınız için çok tşk ederim.

PHP:
$sql =mysql_query("SELECT GROUP_CONCAT( CONCAT(icerik_adi,',',icerik_id)) as icerik_id,kategori_adi FROM kategoriler AS k,icerik AS i WHERE k.kategori_id=i.kategori_id GROUP BY kategori_adi");
 
Geri
Üst