【发布时间】:2012-06-26 03:27:40
【问题描述】:
我遇到了 php 的 for 循环问题。
循环迭代太快,并且在内部的 html 代码被回显之前完成。
<?php for($i = 0; $i < sizeof($shoppingCart); $i++) {
$sql = "SELECT * FROM products_test WHERE id = " . substr($shoppingCart[$i], 5) . "";
$q = $DBH->query($sql) or die("failed!");
$q->setFetchMode(PDO::FETCH_ASSOC);
$r = $q->fetchAll();
echo '<tr>';
echo '<td><img src="' . $r[$i]['image']. '" /></td>';
echo '<td>' . $r[$i]['title'] . '</td>';
echo '<td>' . $r[$i]['desc'] . '</td>';
echo '<td>' . $r[$i]['price'] . '</td>';
echo '<td><input type="number" id="qty"></td>';
echo '<td>Remove</td>';
echo '</tr>';
} ?>
设置一个临时变量是行不通的,因为它只是具有相同的行为。
怎么了?
提前致谢!
【问题讨论】:
-
怎么了?你的预期结果是什么?你现在得到了什么?
-
“在内部的 html 代码被回显之前完成”是什么意思?听起来你遇到了错误,所以代码停止了。
-
你确定这是你的确切代码吗,
$i++);之后没有; -
而
$shppingCart的内容是什么? -
@Rocket 不,我的意思是在 for 循环结束后
)在后续代码之前执行它。
标签: php for-loop indexing echo