我目前有一個 HTML 搜索表單,需要多個輸入(例如:123456、654321、789456)。我正在使用 PHP 搜索數據庫,查看這些數字是否作為項目編號存在。然后,它會在回顯表中返回有關這些項目的信息。唯一的問題是,如果數據庫中不存在某個數字,即使其他兩項存在,也不會返回任何結果。我怎樣才能擁有它,以便它返回有關確實存在的項目的信息,然后列出無法找到其記錄的項目?我的表格和表格生成如下:<div id="div1"> <!-- [SEARCH FORM] --> <form method="post" action="nweb.php" id="testform"> <h1>Product Information</h1> <!-- <input type="text" name="search" required/> --> <textarea name="search" cols="40" rows="5" form="testform"></textarea> <input type="submit" value="Search"/> </form><?php if (isset($_POST['search'])) { // SEARCH FOR ITEMS require "2-search.php"; // DISPLAY RESULTS if (count($results) > 0) { echo "number found ".count($resultsArray)."<br>"; echo "<table>"; echo "<thead>"; echo "<tr>"; echo "<th>Item number</th>"; echo "<th>Stock available</th>"; echo "<th>Available Stock</th>"; echo "<th>Detailed Description</th>"; echo "<th>Division</th>"; echo "<th>Gender</th>"; echo "<th>Group</th>"; echo "<th>Subgroup</th>"; echo "</tr>"; echo "</thead>"; foreach ($resultsArray as $results) { foreach ($results as $r) { echo "<tbody>"; echo "<tr>"; echo "<td>". $r['item_number'] ."</td>"; echo "<td>". $r['stock_available'] ."</td>"; echo "<td>". $r['available_stock'] ."</td>"; echo "<td>" . $r['detailed_desc'] . "</td>"; echo "<td>" . $r['division'] . "</td>"; echo "<td>" . $r['gender'] . "</td>"; echo "<td>" . $r['group'] . "</td>"; echo "<td>" . $r['sub_group'] . "</td>"; echo "</tr>"; echo "</tbody>"; } } echo "</table>"; } else { echo "No results found"; } } ?> </div>如果有人可以提供幫助,我們將不勝感激。
1 回答

拉風的咖菲貓
TA貢獻1995條經驗 獲得超2個贊
搜索詞位于您的$searchFor數組內,因此已經處理完畢?,F在我們只需要找到一些方法來顯示這些而不是表格。讓我們修改處理結果計數的代碼。
嘗試這樣的事情:
foreach ($resultsArray as $key => $results) {
if (count($results) > 0) {
foreach ($results as $r) {
echo "<tbody>";
...
echo "</tbody>";
}
} else {
echo "No results found for ". $searchFor[$key];
}
}
您希望計數檢查位于您的foreach($resultsArray as $results). 這樣您就可以檢查每個as $results數組。$key 包含當前迭代的索引(1st = 0、2nd = 1 等),因此您可以使用它來訪問 searchedFor 數組,其中包含分解的搜索詞。
- 1 回答
- 0 關注
- 129 瀏覽
添加回答
舉報
0/150
提交
取消