Aşağıdaki kod harika çalışıyor. Ben farklı kategoride kitap başlıklarını içeren bir MySQL veritabanı var. Aşağıdaki kodda, değişken "site" bir kitap başlığını temsil eder. Her kategori MySQL veritabanı farklı bir tablo ile temsil edilir.
Aşağıdaki kodu tüm kategorilerde toplam oyların (MySQL tablo) tarafından ilk 25 kitap başlıkları (site) yer alıyor. Ben boş kitap başlıkları (yani site ='') dışlamak için çalışıyorum. Bunu nasıl yapabilirim?
Ben bir kaç yerde WHERE site != ''
takarak denedi ama ben bir hata mesajı alıyorum. Yani nerede WHERE site != ''
ekleyebilirsiniz ben soruyorum sanırım?
Teşekkür peşin,
John
<?
mysql_connect("mysqlv10", "username", "password") or die(mysql_error());
mysql_select_db("database") or die(mysql_error());
$result = mysql_query("SHOW TABLES");
$tables = array();
while ($row = mysql_fetch_assoc($result)) {
$tables[] = '`'.$row["Tables_in_bookfeather"].'`';
}
$subQuery = "SELECT site, votes_up FROM ".implode(" UNION ALL SELECT site, votes_up FROM ",$tables);
// Create one query that gets the data you need
$sqlStr = "SELECT site, sum(votes_up) sumVotesUp
FROM (
".$subQuery." ) subQuery
GROUP BY site ORDER BY sum(votes_up) DESC LIMIT 25";
$result = mysql_query($sqlStr);
$arr = array();
echo "<table class=\"samples2\">";
while ($row = mysql_fetch_assoc($result)) {
echo '<tr>';
echo '<td class="sitename2"><a href="booklookup3.php?entry='.urlencode($row["site"]).'&searching=yes&search=search">'.$row["site"].'</a></td>';
echo '<td>'.$row["sumVotesUp"].'</td>';
echo '</tr>';
}
echo "</table>";
?>