我想創建會計師目錄,我想創建和高級搜索的形式,如:條件搜索表單
如果用戶輸入:拉拉並沒有會計師與此名稱我想建議會計師,他的名字包含'L''A''R'?
所以問題是如何創建這個使用SQL查詢,因爲我不知道用戶輸入的字母數量?
我想創建會計師目錄,我想創建和高級搜索的形式,如:條件搜索表單
如果用戶輸入:拉拉並沒有會計師與此名稱我想建議會計師,他的名字包含'L''A''R'?
所以問題是如何創建這個使用SQL查詢,因爲我不知道用戶輸入的字母數量?
如果找不到用戶,請使用str_split將字符串拆分爲1個字母的數組,然後遍歷數組並使用LIKE'%$ string%'查詢它們。
// If user not found
if(!(mysqli_num_rows > 0)) {
$array = str_split($search);
// If search is two separated words, to remove space and reorder array, use this line instead:
// $array = str_split(str_replace(" ", "", $array));
for($i = 0; $i < count($array); $i++) {
$char = $array[$i];
$sql = "SELECT * FROM table WHERE name LIKE '%$char%'";
$result = mysqli_fetch_array(mysqli_query($con, $sql));
echo $result['name'];
}
這有助於我有一個想法,我將添加4個循環搜索4,3,2和1個字母,尼斯 –
你也可以這樣做,但是,您必須考慮用戶的搜索長度是否超過10個字符,您的腳本可能需要較長時間才能加載。樂於幫助。 – Charas
它是一個編程選擇,無論何時用戶點擊搜索,然後首先進行全文匹配。如果該查詢返回零行,那麼您嘗試使用名稱的前三個字母進行另一個查詢: select * from tbl其中名稱如'%'。 substr($ _ POST ['name'],0,3) 等等。 – vishwakarma09