Bunu yapmak için daha temiz bir yol arıyorum. Benim kod çalışır, ama o daha iyi olabileceğini biliyorum. Kategori grupları listesi ile bir, kategori gruplarına bağlı kategori listesi ile bir ve kategorilere bağlı olan haberlerin bir liste ile bir: Ben üç tablo var.
Ben de listelenen her kategoride haberlerin sayısı ile kategorisinde gruplar bulunmaktadır kategoriden isimleri takip, Kategori Grupların isimleri tüm döngü gerekir.
CategoryGroups, Kategoriler, Haberler: Ben üç tablo var.
Ben sorguları bir dizi var. CategoryGroups tablodan ilk sorguları tüm satırlar:
$result = mysql_query( '
SELECT cat_group_id, cat_group_name FROM CategoryGroups
' );
İkinci sorgu ilk sorgunun döngüye sonuçları içinde ve bir haber öğesi var ve belirli bir kategori grubuna bağlı tüm kategoriler bulur:
<?php
while( $row = mysql_fetch_assoc( $result ) ){
$id = $row['cat_group_id'];
$name = $row['cat_group_name'];
echo "<h3>$name</h3>";
$sql = mysql_query("
SELECT category_id, title FROM `Categories`
WHERE cat_group_id = $id
AND category_id IN
(SELECT news.category_id FROM news)
");
while( $row = mysql_fetch_assoc($sql) ) {
$title = $row['title'];
$catid = $row['category_id'];
$numbers = mysql_query("
SELECT * FROM news
WHERE category_id =$catid"
);
$nums = mysql_num_rows($numbers);
echo "$title ($nums)<br/>\n";
}
?>
Aklımda verimliliği ile, bir ya da iki sorguları bu sınırlamak istiyorum. Ben bu yapılabilir biliyorum, ancak benim girişimleri başarılı olmamıştır.
teşekkürler.