2012-10-02 155 views
0

我有一个while语句只返回一个结果的问题。这是我第一次尝试显示来自多个表格的产品信息,我不知道我在做什么错误。这里是代码:php while循环只显示多个表中的mysql查询的一个结果

<?php 
    require('./includes/config.inc.php'); 
    require(MYSQL); 

    $sql = sprintf("SELECT * FROM tea"); 

    $res = mysqli_query($dbc, $sql); 

    if(!$res){ 
    die('Could not complete query: '.mysqli_error($dbc)); 
    } else { 

    echo 'Success!<br />'; 

    while($row = mysqli_fetch_array($res)){ 
     $table = $row['category']; 
     $inum = $row['item_number']; 

     echo $table.' '.$inum.'<br />'; 

     $fetch = sprintf("SELECT sub_category, item_name, description FROM $table WHERE item_number ='$inum'"); 
     $fetchRes = mysqli_query($dbc, $fetch); 

     if(!$fetchRes){ 
      die('Could not fetch: '.mysqli_error($dbc)); 
     } else { 
      while($fetchRow = mysqli_fetch_array($fetchRes)){ 
       $subCat = $fetchRes['sub_category']; 
       $iNumber = $inum; 
       $iname = $fetchRes['item_name']; 
       $desc = $fetchRes['description']; 

       echo $id.' '.$subCat.' '.$iNumber.' '.$iname.' '.$desc.'<br />'; 
      } 
     } 
    } 
} 

回答

2

内部while循环,你应该使用$fetchRow变量作为数组从中攫取列,如“sub_category”。

+0

WOW不知道怎么我没有之前看到...谢谢! –

0

IS

$subCat = $fetchRes['sub_category']; 
    $iNumber = $inum; 
    $iname = $fetchRes['item_name']; 
    $desc = $fetchRes['description']; 

需要是:RES到行

$subCat = $fetchRow['sub_category']; 
$iNumber = $inum; 
$iname = $fetchRow['item_name']; 
$desc = $fetchRow['description']; 
相关问题