PHP,下拉菜单和搜索表单,如何传递变量来选择查询

标签 php javascript sql-server

我花了一个多星期的时间试图让它工作,但我被难住了。我有包含 5 个类别的下拉菜单,旁边有一个搜索表单,您可以在其中输入关键字来搜索类别。我想要 5 个查询,这些查询使用关键字来使用 php 和 SQL 服务器搜索每个类别。如何更改查询以匹配下拉选择?我正在考虑使用 JavaScript 将变量传递给 php,但我不是最好的程序员,这个想法对我来说太多了。因此,选择类别一将意味着在搜索表单中输入的关键字将运行查询一等...

谢谢。

这是我的查询:

$term = $_POST['term'];

                                                    $tsql = "select * from personnel where SURNAME like '%" . $term . "%'";

                                                    $stmt = sqlsrv_query( $conn, $tsql, array(), array( "Scrollable" => SQLSRV_CURSOR_KEYSET ));

                                                    if( $stmt === false)
                                                    {
                                                         echo "Error in query preparation/execution.\n";
                                                         die( print_r( sqlsrv_errors(), true));
                                                    }

                                                        while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC))
                                                    {
                                                             echo 'NUMBER: '.$row['SNUM'];
                                                        echo '<br/> Jobtitle: '.$row['JOBTITLE'];
                                                        echo '<br/> Last Name: '.$row['SURNAME'];
                                                        echo '<br/> Manager: '.$row['MANAGER'];
                                                        echo '<br/> Sex: '.$row['SEX'];
                                                        echo '<br/> Join Date: '.$row['JOINDATE'];
                                                        echo '<br/> Division: '.$row['DIV'];
                                                        echo '<br/> Salary: '.$row['SALARY'];
                                                        echo '<br/> Bonus: '.$row['BONUS'];
                                                        echo '<br/><br/>';
                                                    }

我的表格:

<form  action="searchBar.php" method="post">
                                                        <input id="searchstyle" type="text" name="term" />
                                                        <input id="searchbutton" type="submit" name="submit" value="Submit" />
                                                    </form>

下拉菜单:

<form name="myform" id="dropdown" action="dropsearch.php" method="POST">
                                            <select name="dropdownmenu">
                                                <option value="0" selected="selected">Select a category</option>
                                                <option value="Men">Men</option>
                                                <option value="Women">Women</option>
                                                <option value="Youth">Youth</option>
                                                <option value="Accessories">Accessories</option>
                                                <option value="Teamwear">Teamware</option>
                                            </select>
</form>

最佳答案

您必须首先使用 POST 作为方法创建一个表单

这是一个很好的例子:

<form name="myform" action="destination.php" method="POST">
<select name="mydropdown">
<option value="1">Fresh Milk</option>
<option value="2">Old Cheese</option>
<option value="3">Hot Bread</option>
</select>
</form>

在您的 destination.php 文件中,您必须创建一个 switch 语句才能查看您传递给脚本的值。

switch ($_POST['mydropdown']) {
    case 1:
        $query = "first mysql query";
        break;
    case 2:
        $query = "2nd mysql query";
        break;
    case 3:
        $query = "3rd mysql query";
        break;
}

之后您必须执行查询:

$result = mysql_query($query);
if (!$result) {
    die('Invalid query: ' . mysql_error());
}

请注意,这是一种非常简单的方法,但是您必须根据您的需求进行调整。

关于PHP,下拉菜单和搜索表单,如何传递变量来选择查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9121315/

相关文章:

javascript - 如何使用 jquery 包含 php 文件

sql - 相当于 GO 的 T-SQL

c# - 如何在 Entity Framework 中创建返回 IQueryable<T> 的导航属性

javascript - 带有间隔的 jQuery AJAX

javascript - 数组元素不会显示在 JavaScript 的选择框中

javascript - http 请求与 ajax/angularjs 的命名约定 http 请求

sql - 从 SQL 查询生成 XML 文件

php - C 相当于 PHP `date(' YmdHis')`

PHP如何读取子目录和循环文件?

php - php错误中的html表