我的PHP代码有问题。我正在努力使网上商店和我现在在产品列表步骤。我的代码太长了,所以我只展示了很多部分。
$result = mysql_query("SELECT name, category, describtion, value FROM products") or die(mysql_error());
if(mysql_num_rows($result) % 2 == 0)
{
while($left = mysql_fetch_array($result, MYSQL_NUM) && $right = mysql_fetch_array($result, MYSQL_NUM))
{
echo '
<div class="sub_items">
<div class="sub_left">
<div class="sub_items_header">
<h1>'.$left[0].'</h1>
<h2>'.$left[1].'</h2>
</div>
<div class="sub_items_image">
<img src="images/'.$left[0].'.png" width="167" height="164" alt="'.$left[0].'" />
</div>
<div class="sub_items_text">
'.$left[2].'
</div>
<div class="sub_items_cartinfo">
<div class="price">
<h2>'.$left[3].'$</h2>
</div>
<div class="addtocart">
<a href="chart.php?name='.$left[0].'"><span>Add to Cart</span></a>
</div>
<div class="clearthis"> </div>
</div>
<div class="clearthis"> </div>
</div>
<div class="sub_right">
<div class="sub_items_header">
<h1>'.$right[0].'</h1>
<h2>'.$right[1].'</h2>
</div>
<div class="sub_items_image">
<img src="images/'.$right[0].'.png" width="175" height="170" alt="'.$right[0].'" />
</div>
<div class="sub_items_text">
'.$right[2].'
</div>
<div class="sub_items_cartinfo">
<div class="price">
<h2>'.$right[3].'$</h2>
</div>
<div class="addtocart">
<a href="chart.php?name='.$right[0].'"><span>Add to Cart</span></a>
</div>
<div class="clearthis"> </div>
</div>
<div class="clearthis"> </div>
</div>
<!-- End of Right Sub Item -->
<div class="clearthis"> </div>
</div>
<div class="h_divider"> </div>
';
}
在while循环中,我正在回显数据。数据分为左右div。我没有收到任何错误消息,但输出结果不好。看。
左侧没有加载,但是是的。为什么?有人请帮助我。
答案 0 :(得分:3)
=优先级高于和;使用AND代替&amp;&amp;或括号括号。
而不是
$left = mysql_fetch_array($result, MYSQL_NUM) && $right = mysql_fetch_array($result, MYSQL_NUM)
或者
$left = mysql_fetch_array($result, MYSQL_NUM) AND $right = mysql_fetch_array($result, MYSQL_NUM)
或
($left = mysql_fetch_array($result, MYSQL_NUM)) && ($right = mysql_fetch_array($result, MYSQL_NUM))