0

カテゴリ リストをクリックすると、カテゴリ 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>";
}
?>
4

1 に答える 1

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;
}
于 2013-07-09T17:44:11.317 に答える