2013-08-01 64 views
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;} 

?> 
+0

从PHP 5.5.0开始不推荐使用mysql_ *扩展,并且将来会被删除。相反,应该使用MySQLi或PDO_MySQL扩展 –

+0

并且明确地说,它是'category' – Strawberry

回答

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已弃用。
+0

感谢您的支持。如果没有产品可用,我将如何显示消息? – user2643837

+0

@ user2643837,请参阅我答案中的更新代码。您应该可以添加对'mysql_num_rows'的调用并相应地继续。 – vee

1

您必须遍历结果集。

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