[英]how to update multiple update using php mysql
如何使用PHP MySQL的復選框更新數據庫中的多個更新
<form action="enableprofile1.php" method="post">
//user id
<input type="hidden" name="id1[]" id="id1[]" value="<?php echo $sn; ?>" />
//user id
//enable checkbox
<input type="checkbox" name="enable[]" id="enable[]" value="1" <?php if($en=='1'){ echo 'checked';} ?> />
//enable checkbox
<input type="submit" name="save" value="Save" class="fontBold">
</form>
當我取消選中復選框時,我可以知道是否可以存儲喜歡的值0
/* */
解釋了代碼 1
。 我希望不是。 我還假定這些復選框的值來自您的數據庫。 您的enableprofile1.php應該如下所示:
<?php
/* ESTABLISH CONNECTION */
$con = new mysqli("YourHost", "YourUsername", "YourPassword", "yourDataBaseName"); /* REPLACE NECESSARY DATA */
/* CHECK CONNECTION */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
if(isset($_POST["save"])){ /* IF SAVE BUTTON IS CLICKED */
/* STORE THE PASSED DATA FROM YOUR FORM VIA POST */
$enable = $_POST["enable"];
$hiddenid = $_POST["id1"];
$total = count($enable); /* COUNT TOTAL ARRAY */
for($x=0;$x<=$total;$x++){ /* RUN A LOOP THAT CHECKS ALL DATA */
if(!empty($enable[$x])){ $todo=1; } /* IF ENABLE IS CHECKED */
else { $todo=0; } /* IF ENABLE IS NOT CHECKED */
$stmt = $con->prepare("UPDATE yourTable SET yourColumn = ? WHERE yourID = ?"); /* REPLACE NECESSARY CONNECTION VARIABLE, TABLE NAME AND COLUMN NAME */
$stmt->bind_param('ss', $todo, $hiddenid[$x]); /* BIND PASSED DATA TO THE QUERY */
$stmt->execute(); /* EXECUTE QUERY */
} /* END OF FOR LOOP */
} /* END OF ISSET SAVE */
?>
將此添加到您的表單:
...
<?php
$counter=0;
//user id
echo '<input type="hidden" name="id1[$counter]" id="id1[]" value="'.$sn.'" />';
// user id
//enable checkbox
echo '<input type="checkbox" name="enable[$counter]" id="enable[]" value="1" if($en=='1'){ echo 'checked';} />';
$counter=$counter+1; /* INCREMENT $counter FOR EVERY LOOP */
?>
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.