我有一个search.php
,我正在搜索三个字段:
但是当我从选择选项中选择一个From no.
并输入一个Telephone no.
并按下搜索按钮时,它会搜索电话号码。而不是形式没有。
我想要一个搜索,就像我选择From no.
并输入一个值,它应该只搜索表单而不是其他任何内容以及所有以下两个选项:
serach.php
<div class="tleft">
<h2 class="tdilouge">Search Reports</h2><center>
<table class="tbleft">
<form action="searchbyform.php" method="get">
<thead>
<tr>
<td>
<select name="formnumber" id="formnumber" >
<option>Form No.</option>
<option>Name</option>
<option>Telephone No.</option>
</select>
</td>
<td><input type="text" name="formnumber" id="formnumber" placeholder="Enter" /></td>
<td><input type="submit" value="Search" /></td>
</tr>
</thead>
</form>
</table></center>
</div>
这是submit.php
我有一个正确的数据库连接,列是表名:
submit.php
<?php
$formnumber = $_GET['formnumber'];
$sql = "SELECT * FROM colomn WHERE FormNo = $formnumber OR ConsumerName = $formnumber OR TelephoneNo = $formnumber";
$query = mysql_query( $sql );
if(mysql_num_rows($query) == 0)
{
echo "no result found";
}
echo "<table>";
echo "<thead></thead>";
while( $row = mysql_fetch_array( $query ) )
{
echo "<tr></tr>";
}
echo "</table>";
?>
答案 0 :(得分:1)
您可以检查此人选择了哪个选项,并根据所选的选项运行属于该选项的查询。 为选项提供一个值,如下所示:
(您应该更改选择名称,因为文本字段已命名为formnumber
)
<select name="form" id="form" >
<option value="form">Form No.</option>
<option value="name">Name</option>
<option value="telephone">Telephone No.</option>
</select>
因此,当您选择表格编号时。 ,$_GET['form']
将是“形式”
所以只需使用IF来检查3个选项。
修改强> 表格编号时的查询。已被选中,将如下所示:
“SELECT * FROM colomn WHERE FormNo = $ formnumber”
而且名字和电话没有。您应该只更改列名称。
if($_get['form']="form"){
$sql="SELECT * FROM colomn WHERE FormNo = $formnumber";
}
if($_get['form']="name"){
$sql="SELECT * FROM colomn WHERE ConsumerName = $formnumber";
}
if($_get['form']="telephone"){
$sql="SELECT * FROM colomn WHERE TelephoneNo = $formnumber";
}
也不要使用mysql。请改用mysqli或PDO。