我花了一个多星期的时间试图让它工作,但我被难住了。我有包含 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/