下面的代码打印出名为"feather“的数据库中在名为”site“的列中包含"$entry”的所有表。"feather“中的每个表都有一个名为”site“的列。
这段代码运行得很好。然而,我想补充一些东西。"feather“中的每个表还包含一个名为”votes_up“的列。对于每个包含" $entry“的表,我想打印出与$entry对应的"votes_up”列的值。我该怎么做呢?
提前谢谢你,
约翰
$result = mysql_query("SHOW TABLES FROM feather")
or die(mysql_error());
while(list($table)= mysql_fetch_row($result))
{
$sqlA = "SELECT COUNT(*) FROM `$table` WHERE `site` LIKE '$entry'";
$resA = mysql_query($sqlA) or die("$sqlA:".mysql_error());
list($isThere) = mysql_fetch_row($resA);
if ($isThere)
{
$table_list[] = $table;
}
}
foreach( $table_list as $key => $value){
echo "$value <br />";
}发布于 2009-06-16 18:30:01
这样如何:
SELECT COUNT(*), sum(votes_up) FROM `$table` WHERE `site` LIKE '$entry'这将把所有的票数加起来,并计算所有的行数。
发布于 2009-06-16 18:30:16
这假设您希望表中每次出现“entry”时都有一个“votes up”输出。
while(list($table)= mysql_fetch_row($result))
{
$sqlA = "SELECT `site`,votes_up FROM `$table` WHERE `site` LIKE '$entry'";
$resA = mysql_query($sqlA) or die("$sqlA:".mysql_error());
if(mysql_num_rows($resA) > 0)
{
$table_list[] = $table;
while($rowA = mysql_fetch_assoc($resA))
{
$votes_up[$rowA["site"]] = $rowA["votes_up"];
}
}
}
foreach( $table_list as $key => $value){
echo "$value <br />";
}
foreach($votes_up as $site => $vote_up)
{
echo "$site: $vote_up<br />";
}https://stackoverflow.com/questions/1003021
复制相似问题