0

ユーザー入力からクエリを使用してすべてのデータを取得し、データベースと照合しようとしていLIKEますが、機能しますが、1 つのレコードしか返されませんが、テーブルには多くのレコードがあります。

見つけることができる最も近いレコードを返します。

たとえば、ItemDesc フィールドに「The」という文字が含まれる 2 つのレコードがあるとします。入力ボックスで「The」を検索して [送信] をクリックすると、両方を返すはずのときに最も近い (最も早く作成された) レコードが返されます。

<?php
$username = "a3355896_guy";
$password = "++++++";
$hostname = "mysql5.000webhost.com";    
$dbh = mysql_connect($hostname, $username, $password) or die("Unable to connect to      MySQL");

mysql_select_db("a3355896_book") or die("Unable to connect to database");

$ItemDesc = $_POST['ItemDesc'];
$query = "select * from StockItems where ItemDesc LIKE '%$ItemDesc%'"; 
$result=mysql_query($query);
$num=mysql_num_rows($result);
mysql_close();
?>

申し訳ありませんが、検索を含めることになっていた:

<?php
if ($num>0)
{
echo "<center><table border=1><tr><th>Item Code</th><th>Item Desc</th>";
echo "<th>Item Stock Qty</th>";
echo "<th>Item Unit Price</th><th>Item Category</th></tr>";
$ItemCode = mysql_result($result,$i,"ItemCode");
$ItemDesc = mysql_result($result,$i,"ItemDesc");
$ItemStockQty = mysql_result($result,$i,"ItemStockQty");
$ItemUnitPrice = mysql_result($result,$i,"ItemUnitPrice");
$ItemCategory = mysql_result($result,$i,"ItemCategory");
echo "<tr><td>$ItemCode</td><td>$ItemDesc</td><td align=right>";
echo "$ItemStockQty</td>";
echo "<td align=right>$ItemUnitPrice</td>";
echo "<td>$ItemCategory</td></tr>";
echo "</table></center>";

}
else
{
echo "<form name='DeleteStock2'>";
echo "<p> Sorry, $ItemDesc does not exist!<p>";
echo "<input type='button' value='Leave' onclick='history.go(-1)'>";
}

?>

4

1 に答える 1

1

ここで実際にデータにアクセスしているわけではありません。結果セットを反復処理する必要があります。

$setLength = mysql_num_rows($result);
for($i = 0; $i < $setLength; $i++){
    //Here, mysql_fetch_assoc automatically grabs the next result row on each iteration
    $row = mysql_fetch_assoc($result);
    //do stuff with "row"
}

あなたがそれを行っていて、それをスニピットに含めないことを選択した場合を除きます。我々に教えてください :)

-- 編集 -- 最初に、申し訳ありませんが、古い習慣から、関数の mysqli セットの代わりに mysql_fetch_assoc を使用することをお勧めします。

fetch_assoc または fetch_array 関数を使用してみてください。問題が解決する可能性があります。あなたが使用した方法を使用したことはありません。しばらくの間、非推奨になっていると思います。ここで確認してください: http://php.net/manual/en/mysqli-result.fetch-assoc.php

于 2013-05-22T20:04:37.830 に答える