0

同じカテゴリを持つデータベースからのすべての結果を表示しようとしています。

データベースから 1 つの行を印刷することができましたが、残りの行をどのように処理するのか疑問に思っています。

ここに私のコードがあります

<?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. mysqlior PDOas の使用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 に答える