【问题标题】:How retrieve specific data from database mysql如何从数据库mysql中检索特定数据
【发布时间】:2013-12-09 20:51:25
【问题描述】:

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

【问题讨论】:

    标签: php mysql search


    【解决方案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。

    【讨论】:

    • 比如何触发我不知道的查询兄弟只能建议我一个 mysql 查询
    • @MAHESH ............见我的编辑。也不要忘记检查选项的值。
    • 但是我怎样才能为三个选项写三个查询我想要一个查询所有你可以把完整的代码发给我,谢谢你的帮助
    • @MaheshDigarse 更改选择的名称,因为您已经将文本字段定义为 formnumber
    • @MaheshDigarse 查看我的编辑并告诉我它是否有效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-03
    • 2021-12-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多