【发布时间】:2013-03-24 20:11:14
【问题描述】:
我希望下面的代码循环遍历两个不同的 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 转储以获得更多解决问题的帮助。
-
var_dump 在两者上都返回 bool(false)...
-
您是否在 while 循环中进行 var 转储?如果是这样,请尝试在您的 while 循环之前在 $tableheaders 和 $products 上运行 mysqli_num_rows()。如果他们返回 0,你就知道你的数据库表是空的,或者你的 MySQL 表名是错误的。如果它们大于 0,则说明 var 转储错误 php.net/manual/en/mysqli-result.num-rows.php
-
我已经尝试并打印了 MySQL 表中的数组,但它们都显示得很好......
标签: php loops while-loop nested-loops