我遇到了一些代码问题,我已按照类别显示产品,并允许客户选择他们想要的尺寸。我确定它是一个简单的解决方案,而且几乎可以肯定的是,我的问题源于我对msqli_fetch_assoc while循环实际工作原理的理解不足。
问题是第一行正确显示第一个产品,但第二行不仅显示了secone产品,而是显示了第一个和第二个产品。第三行显示前三个产品,依此类推。
这是我的完整代码(请忽略JQuery / Javascript,我是它的新品,很可能会在另一篇文章中回来寻求帮助。)我已经盯着它看了几个小时。有人能指出我在哪里出错吗?
ValueError: invalid literal for int() with base 10: 'Hello'
答案 0 :(得分:1)
应该是:
$counter = array();
while ( $row = mysqli_fetch_array( $result, MYSQLI_ASSOC ) ) {
foreach ( $row as $product ) {
$counter[ $product[ 'id' ] ] = $product[ 'id' ];
/* run a condition statement here before outputting the result if need arises */
/* this will prevent duplicate product listing */
if ( $counter[ $product[ 'id' ] ] == $product[ 'id' ] ) {
// display product
}
}
}
答案 1 :(得分:0)
根据Bagus Tesa的建议,我拿出了每个循环,编辑其余部分以解释这个问题,问题解决了。谢谢,巴古斯!