Py学习  »  DATABASE

用PHP-MYSQL按关键字搜索

Trevor • 5 年前 • 1744 次点击  

我试着不使用for-each,只做了一个简单的like,但这也不起作用。

这就是我们要通过的。

<form id="" class="searchbar" action="searchAppt.php" method="get">
           <input type="text" name="terms" size="40" class = "sbar" required value="Search by keyword" oninput="validity.valid||(value='');"
                       onblur="if (this.value == '') {
                                    this.value = 'Enter keyword';
                                }"
                       onfocus="if (this.value == 'Enter keyword') {
             this.value = '';
         }"/>&nbsp;&nbsp;
                <button type="submit" class = "btn">Search</button>
            </form>

if (filter_has_var(INPUT_GET, "terms")) {
    $terms_str = filter_input(INPUT_GET, 'terms', FILTER_SANITIZE_NUMBER_INT);
} else {
    echo "There were no appointments found.";
    include ('includes/footer.php');
    exit;
//explode the search terms into an array
            $terms = explode(" ", $terms_str);


            $sql = "SELECT * FROM appointments WHERE 1";
            foreach ($terms as $term) {
             $sql .= " AND issue LIKE '%$term%' AND email = '". $_SESSION['email'] ."' 
                ";
            }

            $result = $conn->query($sql);

            if ($result->num_rows > 0) {
                echo "<br /><br /><center><h1>Your Ticket(s)</h1><br />
                <div class='table'>
                <div class='tr'>
                <div class='td'><b>Ticket #</b></div>
                <div class='td'><b>First Name</b></div>
                <div class='td'><b>Last Name</b></div>
                <div class='td'><b>Phone #</b></div>
                <div class='td'><b>Building</b></div>
                <div class='td'><b>Room #</b></div>
                <div class='td'><b>Issue</b></div>
                <div class='td'><b>Appt. Start Time</b></div>
                <div class='td'><b>Appt. End Time</b></div>
                <div class='td'><b>Ticket Details</b></div>
                </div>";
                // output data of each row
                while($row = $result->fetch_assoc()) {
                    echo "<div class='tr'>
                    <div class='td'>".$row["id"]."</div>
                    <div class='td'>".$row["fname"]."</div>
                    <div class='td'>".$row["lname"]."</div>
                    <div class='td'>".$row["phonenum"]."</div>
                    <div class='td'>".$row["building"]."</div>
                    <div class='td'>".$row["room"]."</div>
                    <div class='td'>".$row["issue"]."</div>
                    <div class='td'>".$row["start_time"]."</div>
                    <div class='td'>".$row["end_time"]."</div>
                    <div class='td'><form action='ticketdetails.php' method='post'>
                        <input type='hidden' name='id' value='".$row["id"]."'>
                        <input type='submit' value='Ticket Details'></form>
                    </div>
                    </div>";
                }
                echo "</div>";
            } else {
                echo "<br /> <br />Your search <i>'$terms_str'</i> did not match any appointments";

它会显示每个单独的约会,而不是那些有类似关键字搜索问题的约会。我觉得我只是在用select语句忽略一些东西。任何帮助都将不胜感激。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/55582
 
1744 次点击  
文章 [ 1 ]  |  最新文章 5 年前