0
我有一個自動完成的形式從表中拉頭名工作。不過,我想使用2個字段自動完成。這兩個字段是NAME和LAST_NAME,它們是數據庫中的兩個單獨的字段。這是搜索代碼,我有:自動完成加入2列的MySQL和PHP
<?php
include('db_connection.php');
if(isset($_POST['search_keyword']))
{
$search_keyword = $dbConnection->real_escape_string($_POST['search_keyword']);
$sqlUsers="SELECT ID, NAME, LAST_NAME FROM b_user WHERE NAME LIKE '%$search_keyword%'";
$resUsers=$dbConnection->query($sqlUsers);
if($resUsers === false) {
trigger_error('Error: ' . $dbConnection->error, E_USER_ERROR);
}else{
$rows_returned = $resUsers->num_rows;
}
$bold_search_keyword = '<strong>'.$search_keyword.'</strong>';
if($rows_returned > 0){
while($rowUsers = $resUsers->fetch_assoc())
{
echo '<div class="show" align="left"><span class="user_name">'.str_ireplace($search_keyword,$bold_search_keyword,$rowUsers['NAME']).'</span></div>';
}
}else{
echo '<div class="show" align="left">No matching records.</div>';
}
}
?>
上面的代碼返回在下拉精細的名字,但我需要它來搜索的名稱,然後繼續到LAST_NAME。有沒有加入NAME和LAST_NAME的方法?我曾經嘗試這樣做:
$sqlUsers="SELECT ID, CONCAT(NAME, ' ', LAST_NAME) AS FULLNAME FROM b_user WHERE FULLNAME LIKE '%$search_keyword%'";
,然後顯示:
<span class="user_name">'.str_ireplace($search_keyword,$bold_search_keyword,$rowUsers['FULLNAME']).'</span>
但這似乎徹底打破搜索。我覺得我已經爲期不遠上述但不快樂呢。您的幫助將不勝感激。
您是否收到任何錯誤 –
在控制檯中,我只是在與該文件相關的POST上發生內部服務器錯誤。 – andy
然後你的代碼中有一個PHP錯誤需要檢查。張貼整個代碼'<跨度類= 「USER_NAME」> 'str_ireplace($ SEARCH_KEYWORD,$ bold_search_keyword,$ rowUsers [ 'FULLNAME'])。' ' –