0
你好,我正在嘗試爲我的網站創建一個搜索功能。我有這個方法具有查詢如何處理從聯合選擇語句收到的數據
public function search_all($data)
{
$query = [];
$result = $this->db->query('
SELECT blog_title FROM blog WHERE blog_title LIKE "%'. $data . '%"
UNION
SELECT body FROM blog WHERE body LIKE "%'. $data . '%"
UNION
SELECT username FROM users WHERE username LIKE "%'. $data . '%"
');
while ($row = $result->fetch_assoc())
{
$query[] = $row;
}
$result->free();
return $query;
$mysqli->close();
}
然後,我有處理用戶輸入
public function search()
{
if (isset($_POST['search']))
{
$search_term = trim($_POST['search_term']);
$terms = $this->search->search_all($search_term);
foreach ($terms as $term)
{
var_dump($term);
}
}
}
搜索工作排序的方法。如果我搜索一個用戶名或一個博客標題它,然後我可以重複回來這樣
echo $term['blog_title'];
,如果我的var_dump然後我得到的東西像
array (size=1)
'blog_title' => string 'BillyBob' (length=8)
我的問題是,爲什麼它總是retrun BLOG_TITLE爲鑰匙。我想我會做一些像
如果我想呼應博客標題
echo $term['blog_title'];
如果我想呼應的用戶名
echo $term['username'];
用戶名是從一個不同的表中retreived調用users – badsyntax
好吧,博客和用戶表之間是否有任何關係? –
沒關係。我希望用戶能夠搜索並找到用戶或博客帖子。當我遇到這個問題時,我正在玩添加更多的工會,以便他們可以找到其他的東西。 – badsyntax