我有一个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>";
?>
您可以检查人员选择了哪个选项,并根据所选的选项运行属于该选项的查询。给选项一个值,如下所示:
(您应该更改选择名称,因为文本字段已命名为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。