我有一個具有3個字段多字段形式的PHP問題
文本框,複選框,checkbox2形式
它們是通過帳號即 返回的[12345]第二[12345]第三[12345]
陣列我需要將它們的值和鍵都拉起來,但是
如果重新調整了一個值,它會在那裏停止並將其放入數據庫中。 如果返回爲空看 如果任一複選框,單擊 如果是3和2的心不是說對不起3來後2 如果第二個被選中,三不更新數據庫 如果第二和第三檢查更新數據庫
有行,其中沒有任何填充或檢查所有
的代碼我有沒有工作如下:
<?
if (isset($_POST["update"])) // if it's not set, do nothing.
{
include('cond.php');
$idx['Returned'] = array_keys($_POST['Returned']);
$idx['2nd'] = array_keys($_POST['2nd']);
$idx['3rd'] = array_keys($_POST['3rd']);
for(
$i = 0;
$i < min(array_map('count', $idx));
$i++ )
{
$AN = $idx['Returned'][$i];
$RET = $_POST['Returned'][$AN];
$Chk = $idx['2nd'][$i];
$Val = $_POST['2nd'][$Chk];
$Chk2 = $idx['3rd'][$i];
$Val2 = $_POST['3rd'][$Chk2];
//If date is filled in
if(!empty($RET)){
// store it
$doit = "UPDATE `dbname`.`tname` SET `Returned`= '$RET' WHERE `account_number`='$AN'";
mysql_query($doit) or die('mySQL Error: ' . mysql_error());
}else{
// 2nd isn't filled check 3rd
if (empty($Val)) {
// 3rd is filled in
If(!empty($Val2)) {
print "Third VOR cannot be checked before Second.";
}else{
// 3rd is not set but 2nd is
if(empty($Val2)){
$doit = "UPDATE `dbname`.`tname` SET `Second`='$Val' WHERE `account_number`='$Chk'";
mysql_query($doit) or die('mySQL Error: ' . mysql_error());
}else{
// 2nd and 3rd are set
$doit = "UPDATE `dbname`.`tname` SET `Second`='$Val' ,`Third`='$Val2' WHERE `account_number`='$Chk'";
mysql_query($doit) or die('mySQL Error: ' . mysql_error());
}//end if 2
}//end if
}//end if
}
}}
?>
任何想法或如何保證我得到了我的數據庫更新沒有警告 //示例警告// 警告:array_keys()預計參數1是陣列,在/home/blah/public_html/blah/blah/insertret.php空給出在第9行
lilRachie
爲防萬一我的回答不是你要找的,var_dump($ _ POST)的結果是什麼;'? – jeroen 2012-03-23 20:58:40
我會在那裏放置代碼?頂部的 – lilRachie 2012-03-23 22:57:16
很好,但也發佈結果。 – jeroen 2012-03-23 23:14:15