数据库的所有结果

时间:2013-08-01 22:41:34

标签: php mysql

我试图显示具有相同类别的数据库的所有结果。

我已经设法从数据库中打印一行,只是想知道我如何为其余部分执行此操作?

这是我的代码

<?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;} 

?>

2 个答案:

答案 0 :(得分: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已被弃用。

答案 1 :(得分:1)

您必须遍历结果集。

while($row = mysql_fetch_assoc($result)) {
 $prodname=$row['prodname'];
 $prodID=$row['prodID'];
 echo"Catagory: $catagory <br /> ID $prodID<br /> name $prodname";
}