您好我已创建了一个while循环,但无法理解为什么它会永远循环。有人可以解释一下原因吗?
while ($i<3){
if ($i=1){
$x='psu';
}else if ($i=2){
$x='cases';
}
$sqlcpu = "SELECT * FROM $x WHERE name LIKE '%{$term}%'";
$query = mysqli_query($db, $sqlcpu);
while ($row = mysqli_fetch_array($query)){
?><br /> Name: <a href="productpage<?php $x ?>.php?idcpu=<?php echo $row['id$x'] ?>"><?php echo $row['name'];?></a>
<?php
echo ' Price: £'.$row['price'];
}
$i++;
}
此代码还有其他问题,但它们现在不是我主要关注的问题,因为这个循环看起来应该很简单。在$ i = 1
之后,变量$ x和$ i永远不会改变答案 0 :(得分:1)
如果($ i = 1)你在这里给1到$ i,而不是比较1和$ i,使用
if ($i==1)
代替。
您可以使用
代替for / if-elseif构造foreach( array('psu', 'cases') as $table ) {
$sqlcpu = "SELECT * FROM $table WHERE name LIKE '%{$term}%'";