我有一個簡單的基於web的數據庫,使用php/mysql來跟蹤離開我的庫房的產品。基於MySQL表中的條目進行輸入驗證? (php/ajax/html/mysql)
MySQL數據庫有一堆表,但我關心的兩個是'請求'和'銷售人員',你可以在下面看到(我忽略了不相關的信息)。
Requests
R_ID ... R_Salesperson
1 ... James
2 ... Bob
3 ... Craig
Salesperson
S_ID S_Name
1 ... James
2 ... Bob
3 ... Craig
在我的頭節,我有以下腳本鍵入時動態填充我們的銷售人員的名單:
// Autocomplete Salesperson Field
$("#form_specialist").autocomplete("../includes/get_salesperson_list.php", {
width: 260,
matchContains: true,
//mustMatch: true,
//minChars: 0,
//multiple: true,
//highlight: false,
//multipleSeparator: ",",
selectFirst: false
});
AAAND get_salesperson_list.php:
<?php
require_once "get_config.php";
$q = strtolower($_GET["q"]);
if (!$q) return;
$sql = "select DISTINCT S_Name as S_Name from Salesperson where S_Name LIKE '%$q%'";
$rsd = mysql_query($sql);
while($rs = mysql_fetch_array($rsd)) {
$cname = $rs['S_Name'];
echo "$cname\n";
}
?>
我還有一些基本的javascript輸入驗證,需要在銷售人員字段中輸入值(腳本在頭部):
<!-- Input Validation -->
<script language="JavaScript" type="text/javascript">
<!--
function checkform (form)
{
// ** Validate Salesperson Entry **
if (form.form_specialist.value == "") {
alert("Please enter Salesperson Name");
form.form_salesperson.focus();
return false ;
}
// ** END Salesperson Validation **
return true ;
}
//-->
</script>
Aaaaanyway - 問題是我無法弄清楚如何拒絕任何不在'銷售員'表中的名字。例如,如果我要輸入'Jaaames',儘管它最初會提示'James',如果我忽略它並提交'Jaaames',則會將其輸入到'Requests'表中。鑑於我的未確診的強迫症,這是相當煩人的,我寧願不必每隔幾次經常編輯它們。
是的..雖然我很懶,但是垃圾編碼器;) – Barry