我试图放入一个搜索过滤器,这样您就可以输入锁号,它将只返回 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 Q
和 Sam Swift
的评论进行编辑。
关于php - 如何从 phpMyAdmin 中为我的数据创建搜索字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51063521/