【问题标题】:Search feature using keyword and multiple dropdown使用关键字和多个下拉菜单的搜索功能
【发布时间】:2017-03-05 03:13:48
【问题描述】:

我试图在我的网站中使用关键字和下拉菜单创建搜索功能,我一直在谷歌搜索,但我似乎找不到相同的代码。我尝试结合我找到的代码,我想出了这个。是的,只有在 3 个下拉菜单中各选择一个选项时,它才有效。我的问题是,如果我只在一个下拉列表中选择一个选项并继续搜索,它就不起作用。

<!DOCTYPE html>
<html>
<head>
    <title>Activity</title>
    <link href="css/bootstrap.css" rel="stylesheet" type="text/css" media="screen">


    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="css/bootstrap-responsive.css" rel="stylesheet">
</head>
<body>
    <?php
        include('dbcon.php');
    ?>

    <div class="container">
        <div class="row-fluid">
            <div class="span12">
                        <br />
                        <br />
                <div class="row-fluid">
                    <div class="span6">
                        <div class="span6">
                            <form method="POST" action="search.php" class="navbar-search pull-left">
                                <input type="text" name="search" class="search-query" placeholder="Search">
<select name="author" class="input">
    <option value="all">Select Author</option>
    <option value="bbb">bbb</option>
    <option value="rrr">rrr</option>
    <option value="ooo">ooo</option>                                                    
    <option value="hhh">hhh</option>
    <option value="KingKoy Max">KingKoy Max</option>
</select>
<select name="category" class="input">
    <option value="all">Select Category</option>
    <option value="ccc">ccc</option>
    <option value="ttt">ttt</option>
    <option value="iii">iii</option>
    <option value="ggg">ggg</option>
    <option value="Romance">Romance</option>    
</select>
<select name="year_publication" class="input">
    <option value="all">Select Year</option>
    <option value="2014">2014</option>
    <option value="2015">2015</option>
    <option value="2016">2016</option>
</select>
        <input type="submit" value="Search Now">
                            </form>
                        </div>
                        <br />
                        <br />
                        <br />
                        <table class="table table-bordered  table-hover table-striped" style="width:800px;"> 
                            <thead>
                                <tr>
                                    <th>Title</th>
                                    <th>Author</th>
                                    <th>Category</th>
                                    <th>Year Publication</th>
                                    <th>Place Publication</th>
                                </tr>
                            </thead>
                            <tbody>
                                <?php
                                    $query=mysql_query("select * from book")or die(mysql_error());
                                    while($row=mysql_fetch_array($query)){
                                    ?>

                                    <tr>
                                        <td><?php echo $row['title']; ?></td>
                                        <td><?php echo $row['author']; ?></td>
                                        <td><?php echo $row['category']; ?></td>
                                        <td><?php echo $row['year_publication']; ?></td>
                                        <td><?php echo $row['place_publication']; ?></td>
                                    </tr>
                                    <?php
                                    }
                                ?>
                            </tbody>
                        </table>
                    </div>
                </div>
            </div>
        </div>
    </div>

</body>

这是php代码:

    <?php
        include('dbcon.php');
    ?>
                                <?php



                                    $search=$_POST['search'];
                                    $author=$_POST['author'];
                                    $category=$_POST['category'];
                                    $year_publication=$_POST['year_publication'];
                                    $query=mysql_query("select * from book where 
                                    title like '%$search%' AND author like '%$author%' AND category like '%$category%' AND year_publication like '%$year_publication%' ")or die(mysql_error());


                                    while($row=mysql_fetch_array($query)){
                                    ?>

                                    <tr>
                                        <td><?php echo $row['title']; ?></td>
                                        <td><?php echo $row['author']; ?></td>
                                        <td><?php echo $row['category']; ?></td>
                                        <td><?php echo $row['year_publication']; ?></td>
                                        <td><?php echo $row['place_publication']; ?></td>

                                    </tr>
                                    <?php
                                    }
                                    ?>

【问题讨论】:

    标签: php html mysql search filter


    【解决方案1】:

    您可以检查是否选择了下拉列表以及是否为空集空白变量。尝试替换

    $search=$_POST['search'];
    $author=$_POST['author'];
    $category=$_POST['category'];
    $year_publication=$_POST['year_publication'];
    

     if(empty($_POST['search']))
       $search = '';
     else
       $search=$_POST['search'];
     if(empty($_POST['author']))
       $author = '';
     else
       $author=$_POST['author'];
     if(empty($_POST['category']))
       $category = '';
     else
       $category=$_POST['category'];
     if(empty($_POST['year_publication']))
       $year_publication = '';
     else
       $year_publication=$_POST['year_publication'];
    

    【讨论】:

    • 我试过更换它,但还是不行..还是谢谢
    猜你喜欢
    • 2019-04-21
    • 1970-01-01
    • 1970-01-01
    • 2017-09-09
    • 2013-07-03
    • 1970-01-01
    • 2021-12-09
    • 1970-01-01
    • 2020-03-13
    相关资源
    最近更新 更多