PHP代码几乎实现了我想要的功能
下面的代码反映了以下内容: 表名1 表名2 表名3 表名4“$entry”:“投票 表名中的$entry 4“ 我希望它能回应这一点: 表名1:“为$entry投票 表名为“1” 表名2:“为$entry投票” 在表名2中“ 表名3:“为$entry投票 在表名“3”中 表名4:“为$entry投票” 表名为“4” 我怎样才能更改代码,使其符合我的要求 表名的数量因$entry而异 谢谢 约翰PHP代码几乎实现了我想要的功能,php,mysql,Php,Mysql,下面的代码反映了以下内容: 表名1 表名2 表名3 表名4“$entry”:“投票 表名中的$entry 4“ 我希望它能回应这一点: 表名1:“为$entry投票 表名为“1” 表名2:“为$entry投票” 在表名2中“ 表名3:“为$entry投票 在表名“3”中 表名4:“为$entry投票” 表名为“4” 我怎样才能更改代码,使其符合我的要求 表名的数量因$entry而异 谢谢 约翰 $result=mysql\u查询(“显示来自feather的表”) 或者死(mysql_error(
$result=mysql\u查询(“显示来自feather的表”)
或者死(mysql_error());
while(list($table)=mysql\u fetch\u row($result))
{
$sqlA=“选择`site`,从`table`中向上投票,其中`site`类似于'$entry'”;
$resA=mysql\u query($sqlA)或die($sqlA:.mysql\u error());
如果(mysql_num_行($resA)>0)
{
$table_list[]=$table;
而($rowA=mysql\u fetch\u assoc($resA))
{
$voates_up[$rowA[“site”]]=$rowA[“voates_up”];
}
}
}
foreach($key=>$value形式的表){
回显“$value
”;
}
foreach($site=>$vote\u up)
{
echo“$site:$vote_up”;
}
看起来您正在从多个表中选择$site-您确定它们具有唯一的值吗?您在每个表中选择的值可能实际上是相同的(即使每个表上没有重复项)。
这就是我想要的:
$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 $table) {
$sql = "SELECT votes_up FROM `$table` WHERE `site` LIKE '$entry'";
$sql1 = mysql_query($sql) or die("$sql:".mysql_error());
while ($row = mysql_fetch_assoc($sql1)) {
echo $table . ': "' . $row['votes_up'] . " for $entry from $table\"<br />";
}
}
$result=mysql\u查询(“显示来自feather的表”)
或者死(mysql_error());
while(list($table)=mysql\u fetch\u row($result))
{
$sqlA=“从`$table`中选择COUNT(*),其中`site`类似于'$entry'”;
$resA=mysql\u query($sqlA)或die($sqlA:.mysql\u error());
list($isThere)=mysql\u fetch\u row($resA);
如果($在此处)
{
$table_list[]=$table;
}
}
foreach($table_列表为$table){
$sql=“从`$table`中选择投票,其中`站点`类似于'$entry'”;
$sql1=mysql\u query($sql)或die($sql:.mysql\u error());
while($row=mysql\u fetch\u assoc($sql1)){
echo$table.“:”.$row['vows_up']”。对于$table\“
”中的$entry;
}
}
我将返回所有在“site”列中包含$entry的表。是的,但这意味着“site”将始终相同,这意味着在原始代码中,您每次都会重写$vows的值(因为您总是填充$row['site']列,它始终等于$entry)
$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 $table) {
$sql = "SELECT votes_up FROM `$table` WHERE `site` LIKE '$entry'";
$sql1 = mysql_query($sql) or die("$sql:".mysql_error());
while ($row = mysql_fetch_assoc($sql1)) {
echo $table . ': "' . $row['votes_up'] . " for $entry from $table\"<br />";
}
}