【发布时间】:2020-09-10 14:23:35
【问题描述】:
我目前有一个 HTML 搜索表单,它接受用户输入(例如 123456)并使用 PHP 搜索数据库以查看该数字是否作为项目编号存在。然后它会在表格中返回有关该项目的信息。
是否可以一次搜索多个项目,例如 123456、654321、000000,并将每个项目的结果显示在表格中?我目前无法找到任何关于如何实现这一目标的文档。任何帮助将不胜感激。
我当前搜索并带回一项数据的代码是。
<div id="div1">
<!-- [SEARCH FORM] -->
<form method="post" action="nweb.php">
<h1>Product Information</h1>
<input type="text" name="search" required/>
<input type="submit" value="Search"/>
</form>
<?php
if (isset($_POST['search'])) {
require "2-search.php";
if (count($results) > 0) {
foreach ($results as $r) {
echo "<table>";
echo "<tr><td>Item number</td><td>" . $r['item_number'] . "</td></tr>";
echo "<tr><td>Stock available</td><td>" . $r['stock_available'] . "</td></tr>";
echo "<tr><td>Available Stock</td><td>" . $r['available_stock'] . "</td></tr>";
echo "<tr><td>Detailed Description</td><td>" . $r['detailed_desc'] . "</td></tr>";
echo "<tr><td>Gender</td><td>" . $r['gender'] . "</td></tr>";
echo "<tr><td>Group</td><td>" . $r['group'] . "</td></tr>";
echo "<tr><td>Subgroup</td><td>" . $r['sub_group'] . "</td></tr>";
}
echo "</table>";
} else {
echo "No results found";
}
}
?>
</div>
我的搜索码是。
try {
$pdo = new PDO(
"sqlsrv:Server=$server;Database=$database", $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
} catch(PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
$stmt = $pdo->prepare ("SELECT * FROM dbo.[data] WHERE [item_number] LIKE ? OR [stock_available] LIKE ?");
$stmt->execute(["%" . $_POST['search'] . "%", "%" . $_POST['search'] . "%"]);
$results = $stmt->fetchAll();
if (isset($_POST['ajax'])) { echo json_encode($results); }
?>
【问题讨论】: