我有一個問題,實現某些輸出以回顯來自Array的結果列表。 我想創建一個Live搜索引擎,通過使用AJAX在keyup函數的幫助下運行查詢。Mysql結果限制輸出
當表格中列出的每個匹配都會回顯輸出時,一切正常。 現在我想合併所有重複的條目。
的代碼是這樣的:
$search_term = $_POST['search_term'];
$where = "";
$search_term = preg_split('/[\s]+/', $search_term, -1, PREG_SPLIT_NO_EMPTY);
$total_search_terms = count($search_term);
$total_search_term = 0;
foreach ($search_term as $key=>$value) {
$total_search_term = $total_search_term + 1;
if ($total_search_term === 1){
if (is_numeric($value)){
$where .= "(`a` LIKE '%$value%')";
} else {
$where .= "(`b` LIKE '%$value%')";
}
}else if ($total_search_term > 1){
$where .= " AND ";
if (is_numeric($value)){
$where .= "(`a` LIKE '%$value%')";
} else {
$where .= "(`b` LIKE '%$value%')";
}
}
}
$duplicate = $db->query("SELECT a, b, COUNT(*) counter
FROM `table`
GROUP BY a, b
HAVING COUNT(*) > 1
");
$check = $duplicate->fetch_assoc();
$query = $db->query("SELECT a, b FROM table WHERE $where");
$result = $query->num_rows;
if ($result !== 0){
echo '<li id="hit">There are $result results!</li>';
while ($row = $query->fetch_assoc()) {
echo '<li>',
$row["a"],
' ',
$row["b"],
'</li>';
}
} else {
echo '<li id="hit">no result!</li>';
}
爲了讓輸出的例子:
There are 3 results!
12345 New
12345 New
56789 Chicago
而這就是如何應該是:
There are 3 results!
12345 New (2x)
56789 Chicago
所以表:
a | b
12345 New
12345 New
56789 Chicago
非常感謝。
什麼是'了''B','C'? – hsz
你好,對不起。 a是zpicode,b是城市。我更新了代碼。謝謝 – bonny
什麼是'$ where'? – Uby