【发布时间】:2018-11-12 11:25:06
【问题描述】:
我想更新有关复选框状态或值的数据库表。 下面我从数据库中检索复选框状态。
当用户访问此页面时,会看到复选框的当前状态。
HTML
<form name="financial_checks" method="post" action="cbchange.php" />
<input name="provision" type="checkbox" <?php if ($podata_provision == '1') echo "checked='checked'"; ?>/>
<input name="invoice" type="checkbox" <?php if ($podata_invoice == '1') echo "checked='checked'"; ?>/>
<input name="payment" type="checkbox" <?php if ($podata_payment == '1') echo "checked='checked'"; ?>/>
<button type="submit" name="updatebtn" id="btn" class="btn btn-info">Update</button>
</form>
我想在用户更改复选框状态时更新表而不刷新,所以我使用 Ajax 来发布数据;
$.ajax( {
type: 'POST',
url: 'cbchange.php',
data: { provision:provision, invoice:invoice, payment:payment, sendtoken:sendtoken2},
} );
(sendtoken是HTML页面中检索到的变量,我也发不了)
cbchange.php
$provision = $_POST['provision'];
$invoice = $_POST['invoice'];
$payment = $_POST['payment'];
$sendtoken = $_POST['sendtoken2'];
$query = " UPDATE podata SET provision = '".$provision."', invoice = '".$invoice."',payment = '".$payment."' WHERE token2 = '".$sendtoken."'";
$result = mysqli_query($connect, $query);
当我 var_dump($_POST) 结果与复选框选中或未选中的状态有关。
array (size=3)
'provision' => string 'on' (length=2)
'invoice' => string 'on' (length=2)
'updatebtn' => string '' (length=0)
当用户更改复选框状态时,如何将数据发布为 1 或 0?
【问题讨论】:
-
请说明您如何定义使用的 javascript 变量
-
检查php中的每个值并将
'on'更改为1并将空字符串更改为零也相当简单 -
@charlietfl 我没有定义任何变量,数据不是按复选框名称提取的吗?
-
嗯??
provision、invoice和payment是什么?这些是变量 -
对不起,我弄错了,以为您指的是任何其他 Javascript 变量。它们从 SQL 查询中获取并分配给它们的变量。从数据库中检索到的当前数据。