Arkadaşlar ben içerikleri sayfalarken her kategoriden sadece bir içeriği sayfalamak istiyorum. Bunun içinde " GROUP BY catid " diye yazmam yeterli aslında. Ama bu sorguda bunu yazmak da işime yaramıyor.
Bu sorunumu ancak usta PHP'ciler çözer.
Örnek sorgulama:
<?
for($i=0;$i<10;$i++)
{
$veri=mysql_fetch_array( mysql_query("SELECT jos_content.id, jos_content.title, jos_categories.image, jos_categories.name,"
. "\n jos_content.catid, jos_content.sectionid"
. "\n FROM jos_content"
. "\n INNER JOIN jos_categories ON jos_content.catid = jos_categories.id"
. "\n INNER JOIN jos_sections ON jos_content.sectionid = jos_sections.id"
. "\n WHERE jos_content.sectionid='4'"
. "\n ORDER BY jos_content.created"
. "\n DESC LIMIT $i,1"));
?>WHERE bölümü section id 'yi sınıyor ve sadece 4'ncü bölümdeki kategorilerin listelenmesine izin veriyor.
ORDER BY bölümü ise kategorilerdeki içerikleri tarihlerine göre listeledikten sonra, en son yazılan 10 içeriği veriyor.
Şimdi bu iki ölçüyü de ortadan kaldırmadan kategori tekrarını önlemek istiyorum. Ama GROUP BY catid diye yazdığım zaman ORDER BY bölümündeki ilkeyi boşa çıkarıyor, yani tarihe göre en son yazılanları dizmiyor artık.
Bana bir kod verin ki en son eklenenler içinden 10 içeriği listeleyim ve üstelik kategorilerde tekrar olmasın.
Yardımınızı bekliyorum