0

我正在尝试显示数据库中具有相同类别的所有结果。

我已经设法从数据库中打印了一行,只是想知道我如何为其余的做这件事?

这是我的代码

<?php 

$catagory=$_GET["q"];


$con = mysql_connect("localhost","cl49-XXX","XXX");
if (!$con) 
  {
   die('Could not connect: ' . mysql_error());
   }

@mysql_select_db("cl49-vogalcms", $con)or die( "Unable to select database");


$result=mysql_query("SELECT * FROM products WHERE catagory  = '$catagory' ")or die('You need enter a catagoryE ' );
$row = mysql_fetch_array($result);
$prodname=$row['prodname'];
$prodID=$row['prodID'];


echo"Catagory: $catagory <br /> ID $prodID<br /> name $prodname";

if ($swt==0) {$swt=1;} else {$swt=0;} 

?>
4

2 回答 2

4

您可以运行如下循环:

$rowCount = mysql_num_rows($result); 
if ($rowCount > 0) {
  while($row = mysql_fetch_array($result)) {
    $prodname=$row['prodname'];
    $prodID=$row['prodID'];
    echo"Catagory: $catagory <br /> ID $prodID<br /> name $prodname";
  }
} else {
  echo "No Products are available";
}

其他几点需要注意的是:

  1. 不要使用 抑制错误@mysql_select_db。既然已经有了or die(...,就去掉@前面的mysql_select_db。这是因为您想查看发生的错误。
  2. 不推荐使用mysqliPDO按原样mysql使用。
于 2013-08-01T22:43:31.350 回答
0

您必须遍历结果集。

while($row = mysql_fetch_assoc($result)) {
 $prodname=$row['prodname'];
 $prodID=$row['prodID'];
 echo"Catagory: $catagory <br /> ID $prodID<br /> name $prodname";
}
于 2013-08-01T22:45:28.560 回答