嘿,我通常抓住AJAX發送JS做這個物件常:PHP POST通過JavaScript發送對象字面
$_POST['called']
$_POST['chk1']
etc etc...
但現在我有我不能似乎找到了一個問題解決方案。
根據多少複選框被選中,我環路(使用JS)來查看所有檢查箱子,並將它們添加到最終看起來像這樣的JS對象:
doBulk = {
called: "Approved",
chk0: "1789156857",
chk2: "5134465673753",
chk3: "234123554646",
chk10: "25511545542"
};
現在chkXX能是0-19的任何數字(因此每頁20個複選框)。我發送到我的PHP頁面很好,但我不確定如何去循環獲取所需的數據來更新數據庫。
$chk1 = $_POST['chk0'];
$chk2 = $_POST['chk1'];
$chk3 = $_POST['chk2'];
$chk4 = $_POST['chk3'];
$chk5 = $_POST['chk4'];
$chk6 = $_POST['chk5'];
$chk7 = $_POST['chk6'];
$chk8 = $_POST['chk7'];
$chk9 = $_POST['chk8'];
$chk10 = $_POST['chk9'];
$chk11 = $_POST['chk10'];
$chk12 = $_POST['chk11'];
$chk13 = $_POST['chk12'];
$chk14 = $_POST['chk13'];
$chk15 = $_POST['chk14'];
$chk16 = $_POST['chk15'];
$chk17 = $_POST['chk16'];
$chk18 = $_POST['chk17'];
$chk19 = $_POST['chk18'];
$chk20 = $_POST['chk19'];
我可以做很多的如果比其他來檢查,看看是否每個人都有數據,但有一定是這樣做的更好的辦法?
因此,如果我正在做一個批量MySQL的更新,那麼我將不得不運行一個查詢每個複選框,我有一個值爲上面?是否還有更好的方法來更新所有需要在一個記錄中的記錄?
$result = mysql_query("UPDATE userAccount SET Accept = 1 WHERE ID = " . $chk1 . "");
謝謝!
UPDATE
foreach($_POST as $key => $value)
{
// $key = CHK1-20
// $value = XXXXXXXXX
$dbBuilder = $value . ", " . $dbBuilder;
}
$dbBuilder = '(' . $dbBuilder . ')';
$result = mysql_query("UPDATE userAccount SET Accept = 1 WHERE ID in $dbBuilder");
你可以再次檢查我的OP,我只是用新的代碼更新它,看看我是否在正確的軌道上。 – StealthRT 2013-04-30 02:02:20
是的,你是!讓我知道這是否可行 – 2013-04-30 02:06:08
此外,請確保您添加了正確的ID,因爲您正在遍歷整個$ _POST數組,您可能會得到您不期望的值 – 2013-04-30 02:07:16