我希望下面的代码循环两个不同的mysql表。外部while循环应打印产品列表,每个表格行都是新产品。内部while循环应该打印来自该产品的每个列变量。内部循环设置为查看$ tableheaders以指导打印哪些列。引用嵌套循环中的外循环变量
内部循环是用外部循环数组中的内容来回显表格单元格,并使用内部循环数组来指定外部数组中应该查看的列。
这是我的代码;
$tableheaders=mysql_query("SELECT * from `winetable`");
$products=mysql_query("SELECT * FROM `wines`");
while ($row=mysql_fetch_assoc($products)){
echo '<tr>';
while ($rowi=mysql_fetch_assoc($tableheaders)){
$column=$rowi['Title'];
echo '<td>';
echo $row[$column];
echo '</td>';
}
echo '</tr>';
}
它所做的只是空白。
现在不使用mySQLi,因为我的WebMatrix使用它有一些问题。我的MySQL安装已损坏,我认为:)
我会推荐使用mysqli函数,因为mysql已折旧。除此之外,你的代码看起来很好,尝试在$ row和$ rowi上运行var_dump()来查看返回的内容。可能值得向你展示MySQL的统计信息和var转储,以获得更多关于你的问题的帮助。 – 2013-03-24 20:22:23
var_dump在两个循环中都返回bool(false)... – 2013-03-24 20:36:01
你在做while循环中的var转储吗?如果是这样,请尝试在while循环之前在$ tableheaders&$ products上运行mysqli_num_rows()。如果它们返回0,那么你知道你的数据库表是ether空的,或者你的MySQL表名是错误的。如果他们大于0,你正在做var dumps错误http://php.net/manual/en/mysqli-result.num-rows.php – 2013-03-24 20:49:28