如何从数据库mysql中检索特定数据

时间:2013-11-25 08:31:26

标签: php mysql search

我有一个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>";
?>

1 个答案:

答案 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。