2012-02-13 64 views
-2

我的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">&nbsp;</div> 
       </div> 

       <div class="clearthis">&nbsp;</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">&nbsp;</div> 
       </div> 

       <div class="clearthis">&nbsp;</div> 

      </div> 

      <!-- End of Right Sub Item --> 

      <div class="clearthis">&nbsp;</div> 

     </div> 
     <div class="h_divider">&nbsp;</div> 
      '; 
    } 

在while循環中,我回顯數據。數據分爲左右分區。我沒有收到任何錯誤消息,但是輸出錯誤。看。 ...

左側沒有加載,但是正確的是。爲什麼?任何人都請幫助我。

回答

3

=具有更高的優先級thaN AND;使用AND而不是& &或將分配括號。

而不是

$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)) 
+0

THRE的不是問題的圖像!沒有加載的數據存在問題。看。上半場,沒有文字和標題,但在左側。 – user35443 2012-02-13 11:05:07

+0

那麼,也許數據庫中的值實際上是空的?另外,你的一個cols被命名爲「描述」而不是「描述」?它可能是一個錯字嗎? – ustun 2012-02-13 11:08:45

+0

如果他們是空的,我可能不會把它放在這裏。 – user35443 2012-02-13 11:09:42