[請益] 用Jquery UI的自動完成撈mysql的資料
抱歉,我不知道這個問題該在php版還是AJAX版問。
小弟在寫進銷庫,想做一個自動完成的功能。
照網路上教學,使用Jquery UI。
主要是想在使用者填寫訂單時,程式可以自動去撈產品的資料庫。
分成表單端跟後台端。
[表單端]
<form method="POST">
產品編號:<input type="text" id="auto1" name="request_serial" value="">
</form>
<script language="JavaScript">
$("#auto1").autocomplete({
source: "Autocomplete.php",
minLength: 1
});
</script>
[後台端]
<?php
$sql = "SELECT * FROM product WHERE product_serial LIKE
'%".$_POST['request_serial']."%'";
$result = mysql_query($sql, $link_ID);
$arr = Array();
for($i=0; $i< $row=mysql_fetch_array($result);){
$arr[] = $row['product_serial'];
}
echo json_encode($arr);
?>
結果:
自動完成功能無動作。
做了以下測試:
1. 將$sql改為"SELECT * FROM product WHERE product_serial";
可以正常動作,表示表單端的程式碼沒有問題。
2. 直接開啟Autocomplete.php(後台端)
出現 Notice: Undefined index: request_serial。
我懷疑是在後台端要$_POST['request_serial']時出錯,因為使用者還沒有輸入關鍵字,
JS以為是空值就出錯停止了。
以下為完整程式碼
表單端
https://goo.gl/VdcOEe
後台端
https://goo.gl/XYf1Oh
使用xampp v5.6.14
請教各位前輩我該如何修正這個問題,是不是有甚麼眉角我沒有注意到的,謝謝大家。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 119.77.236.4
※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1446971212.A.F3A.html
推
11/08 16:42, , 1F
11/08 16:42, 1F
推
11/08 16:45, , 2F
11/08 16:45, 2F
謝謝Jimmy0301的回覆,剛剛修改後還是沒有成功
因為我是新手,想跟你確認一下寫法
1. 我將前端的 <form method="POST"> 改為 <form method="GET">
2. 後台端 多了一行 $term = $_GET['request_serial'];
3. 將$sql改為 "SELECT * FROM product WHERE product_serial LIKE '%".$term."%'";
請問這樣對嗎? 還是有甚麼函數我沒有注意到?
謝謝
※ 編輯: Artlanis (119.77.236.4), 11/08/2015 17:24:12
→
11/08 22:16, , 3F
11/08 22:16, 3F
→
11/08 22:30, , 4F
11/08 22:30, 4F
→
11/08 22:35, , 5F
11/08 22:35, 5F
→
11/08 22:35, , 6F
11/08 22:35, 6F

非常感謝,成功了。
目前我的做法
原程式碼沒有變動,只有修改後台端的$sql為
"SELECT * FROM product WHERE product_serial LIKE '%".$_GET['term']."%'"
這樣就可以運行了,已經卡了三四天了,心中的大石總算放下了。
現在在研究$_GET['term']的用法。
再次感謝各位前輩的不吝指教,謝謝。
※ 編輯: Artlanis (119.77.236.4), 11/08/2015 23:14:39
PHP 近期熱門文章
PTT數位生活區 即時熱門文章