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

标签 php mysql search

我有一个search.php,其中我正在搜索三个字段:

  • 表格编号。
  • 姓名
  • 电话号码。

但是当我选择来自号码时,从选择选项中输入电话号码,然后按搜索按钮,它会搜索电话号码。而不是表格编号。 我想要像当我选择 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>

因此,当您选择第 1 号形式的选项时。 , $_GET['form'] 将是“form”

所以只需使用 IF 来检查 3 个选项即可。

编辑: 表格编号时的查询。已选择,将如下所示:

“从列中选择 * 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。

关于php - 如何从mysql数据库中检索特定数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20187819/

相关文章:

php - 使用 PHP 将 html 表单中的数据添加到 sql 数据库

java - 在 java ArrayList 中搜索

php - 如何在PHP中显示目录中的文件夹和子文件夹

javascript - 如果sql查询成功,则打开一个新选项卡

php - 我无法从数据库中检索值

elasticsearch - Lucene/Solr搜索文档创建

php - mysql查找和替换字符串

mysql - mysql根据另外两个表中的值将数据插入表中

php - 使用 Codeigniter 的 WHERE 子句中的未知列

PHP mysql注册密码