사용자 입력에서 LIKE
쿼리를 사용하여 모든 데이터를 검색하고 데이터베이스와 일치 시키려고하면 작동하지만 하나의 레코드 만 반환하지만 테이블에는 많은 레코드가 있습니다. 여러 행을 검색하지 않는 데이터베이스에서 MySQL 검색
그것을 찾을 수있는 가장 가까운 기록을 반환
,그래서 ItemDesc 필드는 문자가 포함되어있어이 개 기록이 예를 들어 말한다 '는'I '는'내 입력 상자와하는 제출 클릭을 검색 할 때 둘 다 반환해야 할 때 가장 가까운 (가장 초기에 생성 된) 레코드를 반환합니다.
<?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)'>";
}
>
찾고있는 테이블 데이터 중 일부를 제공하십시오. Google은 사용자가 검색 대상을 모르는 경우 문제를 진단하기가 어렵습니다. – dudewad
데이터를 검색하려는 위치는 어디입니까? 결과에서 행의 수를 얻으려면 mysql_num_rows 만 사용하면된다. – andrewsi
죄송합니다. 검색 결과가 –