[英]search using a keyword and display all names that have that keyword in a table php
<HTML>
<?php
include 'dbconfig.php';
$hotelname=$_GET['Hotel'];
$con = mysqli_connect($dbhostname, $dbusername, $dbpassword, $dbname)
or die("<br>Cannot connect to database!\n");
$query = "SELECT * FROM Hotel WHERE hotelname LIKE '%".$hotelname."%'";
$result = mysqli_query($con, $query);
if($result) {
echo "Brodley, Matt";
echo "<b> </b>";
echo "You are searching keywords: xxxx";
echo "<TABLE BORDER=1>";
echo "<tr><TD>hotelname<TD>city\n";
while($row = mysqli_fetch_array($result)){
$hotelname= $row['hotelname'];
$city= $row['city'];
echo "<tr><TD>$hotelname<TD>$city\n";
}
echo "</TABLE>";
}else echo "no hotel found for search keyword xxxx";
mysqli_free_result($result);
mysqli_close($con);
?>
</HTML>
因此,一旦我進入上一頁的searched_word文本框,它應該顯示與searched_word匹配的酒店名稱列表。 說當我搜索Omni時,它使用了searched_word,但僅顯示
找不到搜索關鍵字Omni的酒店
在我的表中,其數據庫是與searched_word匹配的旅館名稱
您可以嘗試更換
if($result == searched_word){
通過
if($result){ // if(mysqli_num_rows($result) > 0)
您可以嘗試以下代碼。 在這里,我添加了打印mysql查詢錯誤的語句,還刪除了子查詢中的“街道”列。
<HTML>
<?php
include 'dbconfig.php';
$con = mysqli_connect($dbhostname, $dbusername, $dbpassword, $dbname)
or die("<br>Cannot connect to database!\n");
$query = "SELECT hotelname,city FROM Hotel WHERE city IN ( SELECT city FROM Branch WHERE hotelname LIKE '$_GET[searched_word]')";
$result = mysqli_query($con, $query);
if($result){
echo "Brodley, Matt";
echo "You are searching keywords: $_GET[searched_word]";
echo "<TABLE BORDER=1>";
echo "<tr><TD>hotelname<TD>city\n";
while($row = mysqli_fetch_array($result)){
$hotelname= $row['hotelname'];
$city= $row['city'];
echo "<tr><TD>$hotelname<TD>$city\n";
}
echo "</TABLE>";
}
else {
echo "no hotel found for search keyword $_GET[searched_word]";
printf("Errormessage: %s\n", mysqli_error($con));
}
mysqli_free_result($result);
mysqli_close($con);
?>
</HTML>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.