mysql_fetch_array无法获取类别ID信息

时间:2013-07-08 22:08:48

标签: php mysql shopping-cart

当我点击类别列表时,我只获得第1类信息。但是mysql_fetch_array无法获得2,3,4,5 id的信息。代码在这里。请帮忙:

类别列表:                      

        $cat=mysql_query("select * from category");
        while($row=mysql_fetch_array($cat)){
        echo "<li><a href='index.php?cat_id=$row[id]'>$row[name]</a></li>";
        }
        ?>
    </div>
    <br><br>

    <b>Cart</b>
    <div class="leftcon">
        <?php       
        mysql_select_db($dbname,$con);
        echo "<br>Coming Soon<br><br><br>";
        ?>  

索引页     

if($cat_id==null){
    $cat_id = 1;
}

$sql="select * from product where
    cat_id = $cat_id";
    echo $sql;
$rs=mysql_query($sql,$con);

while($row = mysql_fetch_array($rs)){

    echo "<div class='con_product'>";
    echo "<b>$row[product_name]</b><br>";
    echo "<img src=$row[product_image] height='100' width='128'><br>";
    echo "$row[description]<br>";
    echo "<div class='con_product_price'><b>BDT $row[unit_price]</b></div>";
    echo "</div>";
}
?>

1 个答案:

答案 0 :(得分:0)

问题在这里

echo "<li><a href='index.php?cat_id=$row[id]'>$row[name]</a></li>";

字符串是这样插入的(相当于)

echo "<li><a href='index.php?cat_id=" . $row[id] . "'>" . $row[name] . "</a></li>";

id不是有效的字符串或标识符。

所以重写这样的行:

echo "<li><a href='index.php?cat_id={$row['id']}'>{$row['name']}</a></li>";

或者像这样

echo "<li><a href='index.php?cat_id=" . $row['id'] . "'>" . $row['name'] . "</a></li>";

此外,您需要相应地修复其他行。

echo "<b>{$row['product_name']}</b><br>";
echo "<img src='{$row['product_image']}' height='100' width='128'><br>";
echo "{$row['description']}<br>";
echo "<div class='con_product_price'><b>BDT {$row['unit_price']}</b></div>";

另一件事

在index.php中,

if($cat_id==null){
    $cat_id = 1;
}

$cat_id未在任何地方定义。你是如何定义它的?也许它应该是

$cat_id = $_GET['cat_id'];
if($cat_id==null){
    $cat_id = 1;
}