2013-08-01 92 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"; 
} 
相關問題