簡體   English   中英

使用php中的多個關鍵字搜索數據庫

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM