当我点击类别列表时,我只获得第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>";
}
?>
答案 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;
}