简体   繁体   English

如何使用php mysql更新多个更新

[英]how to update multiple update using php mysql

how to update multiple update in database using checkbox with 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>

CAN I KNOW WHEN I UNCHECKED CHECKBOX CAN I STORE VALUE LIKE 0 当我取消选中复选框时,我可以知道是否可以存储喜欢的值0

Note: 注意:

  • Made this code assuming you're using MySQLi Prepared Statement 假设您使用的是MySQLi Prepared Statement,请编写此代码
  • I explained the code in a comment form /* */ 我以注释形式/* */解释了代码
  • I know that your HTML code is just a sample, but the value of your checkbox is set to only 1 . 我知道您的HTML代码只是一个示例,但是您的复选框的值设置为仅1 I hope that it's not. 我希望不是。 I also assume that the value of those checkboxes is coming from your database. 我还假定这些复选框的值来自您的数据库。
  • Looks like you don't include your connection or don't know how to establish one, so I'll be updating my answer...right...now. 看来您不包括您的连接或不知道如何建立连接,所以我现在将更新我的答案。
  • I'm guessing that user has only two choices, 1 and 0, or enable and disable. 我猜该用户只有两个选择,即1和0,或者启用和禁用。 So, again, I updated the code. 因此,我再次更新了代码。
  • Don't shout? 不要喊 (Just kiddin') (开玩笑而已')

Your enableprofile1.php should look like this: 您的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 */

?>

Add this to your form: 将此添加到您的表单:

...
<?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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM