[英]search through a database using multiple keywords in php
我有一個頁面index.php
,其中具有三個關鍵字,用戶可以根據這些關鍵字搜索數據庫。 此頁面的代碼是
<section id="services" class="emerald">
<div class="container">
<form class="form-horizontal" role="form" action="search.php" enctype="multipart/form-data" method="post">
<div class="row">
<div class="col-md-4 col-sm-6">
<div class="media">
<div class="media-body">
<?php
$servername = "xyz.com";
$username = "xyz";
$password = "xyz123";
$dbname = "xyz";
// Create connection
$con = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$con) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT treatment_type FROM treatment_type";
$result = $con->query($sql);
echo "<label for='treatment_type'>Treatment Type: </label>";
echo "<select name='treatment_type' id='treatment_type' class='form-control'>";
while($row = $result->fetch_assoc()) {
echo "<option value='" . $row['treatment_type'] . "'>" . $row['treatment_type'] . "</option>";
}
echo "</select>";
?>
</div>
</div>
</div>
<div class="col-md-4 col-sm-6">
<div class="media">
<div class="media-body">
<?php
$servername = "xyz.com";
$username = "xyz";
$password = "xyz123";
$dbname = "xyz";
// Create connection
$con = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$con) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT course FROM course";
$result = $con->query($sql);
echo "<label for='course'>Course/Conference Type: </label>";
echo "<select name='course' id='course' class='form-control'>";
while($row = $result->fetch_assoc()) {
echo "<option value='" . $row['course'] . "'>" . $row['course'] . "</option>";
}
echo "</select>";
?>
</div>
</div>
</div><!--/.col-md-4-->
<div class="col-md-4 col-sm-6">
<div class="media-body">
<?php
$servername = "xyz.com";
$username = "xyz";
$password = "xyz123";
$dbname = "xyz";
// Create connection
$con = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$con) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT facilities FROM facilities";
$result = $con->query($sql);
echo "<label for='facilities'>Facilities: </label>";
echo "<select name='facilities' id='facilities' class='form-control'>";
while($row = $result->fetch_assoc()) {
echo "<option value='" . $row['facilities'] . "'>" . $row['facilities'] . "</option>";
}
echo "</select>";
?>
</div>
</div>
<div class="col-md-4 col-sm-6">
<div class="media-body">
<div class="col-md-8">
<input class="btn btn-primary" value="Search" type="submit" name="submit">
</div>
</div>
</div>
</div>
</form>
</div>
</section>
用於search.php的代碼
<?php
error_reporting(0);
$con=mysqli_connect("xyz.com","xyz","xyz123","xyz");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$treatment_type = mysqli_real_escape_string($con, $_POST['treatment_type']);
$course = mysqli_real_escape_string($con, $_POST['course']);
$facilities = mysqli_real_escape_string($con, $_POST['facilities']);
$sql1 = "SELECT * FROM office WHERE keywords LIKE '%$treatment_type' and '%$course' and '%$facilities'";
$result = mysqli_query($con, $sql1);
if (mysqli_num_rows($result) > 0)
{
while($row = mysqli_fetch_assoc($result)) {
echo "Office name: " . $row["office_name"]. " - Location: " . $row["office_address"]. " " . $row["office_city"]. "<br>";
}
} else {
echo "0 results";
}
mysqli_close($con);
?>
我正在嘗試做的是,當用戶點擊搜索鏈接時,該用戶將重定向到另一個頁面searchresult.php
,其中顯示所有可用詳細信息的列表。 但是,當我運行腳本時,即使該值存在於數據庫中,我也會得到0值的結果。
在searchresult.php
嘗試此查詢
$sql1 = "SELECT * FROM office WHERE keywords LIKE '%$treatment_type%'
or keywords LIKE '%$course%' or keywords LIKE '%$facilities%'";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.