【发布时间】:2015-01-26 22:20:32
【问题描述】:
我已尝试研究与我的问题类似的其他问题,但我没有找到任何专门解决此问题的内容。我正在使用 mysqli 选择数据并将其显示在表格中。 table_yard 列可以有多个值,因此我分解了这些值并将它们存储为要循环的数组,然后将结果存储在变量 $yard_name 中。我稍后将这个变量分配给我的表中的一行($get 正在存储 sql 查询):
while ($row = mysqli_fetch_assoc($get)) {
$yards = explode(",", $row[table_yard]);
foreach ($yards as $yard) {
$yard_name = $yard . ", ";
}
$table_rows .= "<tr>
<td>" . mdy($row[table_date]) . "</td>
<td>" . $yard_name . "</td>
</tr>";
问题是,如果该数组中有多个值,它只会显示第一项。我在$yards 上运行了一个调试,看看它是否甚至得到了数组的所有值,它是,如下所示:
Array (
[0] => 711
[1] => 2793
[2] => 988
)
不过,这就是 <td> 单元格中显示的内容:
711,
我希望它显示的是:
711, 2793, 988
我确定这是一个新手错误,但我无法弄清楚。提前感谢您的帮助。
【问题讨论】:
-
您正在用 foreach 的每个循环覆盖
$yard_name变量 -
为什么不用
$yard_name = implode(", ", explode(",", $row[table_yard])); -
$yard_name .= $yard 。 ", ";
-
但它显示的是 711 还是 988?
-
@Bankzilla 啊哈!我知道这很简单。非常感谢!