php - 如何从 phpMyAdmin 中为我的数据创建搜索字段?

标签 php html css mysqli

我试图放入一个搜索过滤器,这样您就可以输入锁号,它将只返回 phpmyadmin 数据库中与该锁号相关联的字段。文件名为 dataout.php。

 <?php
 $db_host = 'localhost'; 
 $db_user = 'nick'; 
 $db_pass = 'ramon';
$db_name = 'lockout'; ?>

 <link href="lockproject.css" type="text/css" rel="stylesheet">
 <input type="text" name="locknumber" placeholder="Enter Lock Number"><br> 
 <br>
  <input type="submit" name="search" value="Submit">

   <?php
  $conn = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
  if (!$conn) {
  die ('Fail to connect to MySQL: ' . mysqli_connect_error());   
  }

  $sql = 'SELECT ID, lock_number, equipment_number, work_order, date_out, 
  supervisor_out, comments_out, date_in, supervisor_in
    FROM form';

  $query = mysqli_query($conn, $sql);

  if (!$query) {
  die ('SQL Error: ' . mysqli_error($conn));
  }

  echo '<table width="60%" align="center">
    <thead>
        <tr>
            <th>ID</th>
            <th>Lock Number:</th>
            <th>Equipment</th>
            <th>Work Order:</th>
            <th>Date OUT:</th>
            <th>Supervisor Initial OUT:</th>
            <th>Comments/Tradesmen:</th>
            <th>Date In:</th>
            <th>Supervisor Initial in:</th>
        </tr>
    </thead>
    <tbody>';

   while ($row = mysqli_fetch_array($query))
  {
  echo '<tr>
        <td>'.$row['ID'].'</td>
        <td>'.$row['lock_number'].'</td>
        <td>'.$row['equipment_number'].'</td>
        <td>'.$row['work_order'].'</td>
        <td>'.$row['date_out'].'</td>
        <td>'.$row['supervisor_out'].'</td>
        <td>'.$row['comments_out'].'</td>
        <td>'.$row['date_in'].'</td>
        <td>'.$row['supervisor_in'].'</td>
     </tr>';

  }
  echo '
   </tbody>
  </table>';
  mysqli_free_result($query);
  mysqli_close($conn);
  ?>
  <a href="http://152.116.203.115/lockcheckin2.php" target='_blank'>Lock 
   Check 
   In Form</a>
   <a href= "http://152.116.203.115/lockcheckoutbeta.php" 
   target='_blank'>Lock 
  Check Out Form</a>

这是附加到它的名为 lockproject.css 的 css 文件的代码

  {
  font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
  border-collapse: collapse;
  width: 100%;
  }
  h1 {
    border-bottom: 2px solid rgba(255, 255, 255, 0.5);
  color: white;
  font-weight: 120;
  font-size: 36px;
  line-height: 30px;
  padding-bottom: 20px;
  text-align: center;
  width: 100%;
  }
  h3 {
  color: #F81B1D

  }

   td,  th {
  border: 2px solid #ddd;
  padding: 14px;
  }

 tr:nth-child(odd){background-color: #f2f2f2;}
 tr:nth-child(even){background-color: #214CD2;}


 th {
  padding-top: 14px;
  padding-bottom: 14px;
  text-align: left;
  background-color: #000000;
  color: white;
  }
  body {
  background-color: #4D4949;
  }
  a:link, a:visited {
  background-color: #214CD2;
  color: white;
  padding: 14px 25px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  }


  a:hover, a:active {
  background-color: blue;
  }

最佳答案

这可以通过使用 SQL where 语句来解决,这里显示了一个很好的例子:https://www.w3schools.com/sql/sql_where.asp

通过在 HTML 表单中使用 GET 请求,我们可以从字段中获取值并在 PHP 脚本中使用它。看: https://www.w3schools.com/php/php_forms.asp

HTML 文件:

这会将锁号作为获取请求提交到文件

<form action="dataout.php" method="get">
Name: <input type="text" name="lock_number"><br>

<input type="submit">
</form>

</body>
</html>

PHP 脚本:

我们获取与 GET 请求关联的值并在查询中使用它

为了保护,您应该使用准备好的语句。 http://php.net/manual/en/mysqli.quickstart.prepared-statements.php

$sql = "SELECT ID, lock_number, equipment_number, work_order, date_out, supervisor_out, comments_out, date_in, supervisor_in FROM form WHERE lock_number = ?";
$stmt = $this->conn->prepare($sql);
$stmt->bind_param('s', $lock_number);
$stmt->execute();
$stmt->bind_result($result);

while ($stmt->fetch()) {
 //This while give back a row at a time.
 //This contains only the rows that the WHERE statement gets
}

根据 Patrick QSam Swift 的评论进行编辑。

关于php - 如何从 phpMyAdmin 中为我的数据创建搜索字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51063521/

相关文章:

javascript - 在 Javascript 中获取字符宽度

php - 在实现 ArrayAccess 和 Iterator 的对象上使用 foreach

php - 如何解决 laragon 上的 phpmyadmin 403?

PHP 长轮询 - "long"应该有多长?

php - MySQL w/PHP 中的查询时间结果

javascript - 动态生成的行上的 jQuery 日期选择器

javascript - .Each function JavaScript 在 XML 中迭代两次

html - 如何独立于菜单选项卡在 Web 标题上定位 Logo ,同时仍将它们放在同一行中?

html - 文本对齐 : center won't work unless inline css

css - 从 css 网格中 react 组件