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


How retrieve specific data from database mysql

我有一个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。