gpt4 book ai didi

php - SQL : update multiple rows in php frontend

转载 作者:行者123 更新时间:2023-11-29 21:55:19 25 4
gpt4 key购买 nike

当勾选复选框时,我尝试更新“row2”。当我一次只更新 1 行时,一切正常,但当选择多行时,所有选中的行都会获得相同的值。

我正在寻找一种将 id 添加到 textarea 标记的方法,以便可以使用唯一值更新多行。

我认为问题出在 $new_pricedb.config或者我在 action2.php 中更新数据库的方式

感谢您的任何帮助或任何可以为我指明正确方向的事情。

索引.php:

<form action="action2.php" id="bulk_action_form" method="post" name=
"bulk_action_form" onsubmit="return deleteConfirm();"></form>
<table class="bordered tablesorter" id="myTable">
<thead>
<tr>
<th class="th-class check-box"><input id="select_all" name=
"select_all" type="checkbox" value=""></th>
<th class="th-class">ID</th>
<th class="th-class">row2</th>
<th class="th-class">row3</th>
</tr>
</thead><?php

if(mysqli_num_rows($query) > 0){

while($row = mysqli_fetch_assoc($query)){

?>
<tr class="">
<td align="center" class="checkbox-td"><input class="checkbox"
height="30" name="checked_id[]" type="checkbox" value=
"<?php echo $row['id']; ?>" width="30"></td>
<td class="td-class"><?php echo $row['id']; ?></td>
<td class="td-class reg-anote">
<textarea class="text a-note" cols="10" id="confirmationText" name=
"confirmationText" rows="1">
<?php echo $row['row2']; ?>
</textarea></td>
<td class="td-class"><?php echo $row['row3']; ?></td>
</tr><?php } }else{ ?>
<tr>
<td colspan="5">No records found.</td>
</tr><?php } ?>
</table>
<form>
<input class="btn btn-danger" name="bulk_delete_submit" type="submit"
value="Delete"> <button name="price" type="submit">Submit</button>
</form>

action2.php:

<?php
session_start();
include_once('dbConfig.php');
if(isset($_POST['bulk_delete_submit'])){
$idArr = $_POST['checked_id'];
foreach($idArr as $id){
mysqli_query($conn,"DELETE FROM $TableName2 WHERE id=".$id);
}
}
if(isset($_POST['confirmationText'])){
$idArr = $_POST['checked_id'];
foreach($idArr as $id){
mysqli_query($conn,"UPDATE $TableName2 SET Column2 WHERE id=".$id);
}
}
?>

dbConfig.php:

<?php   
$new_price = $_POST['confirmationText'];
$TableName2 = 'Table2';
$dbHost = 'localhost'; //database host name
$dbUser = 'username'; //database username
$dbPass = 'password'; //database password
$dbName = 'databasename'; //database name
$conn = mysqli_connect($dbHost,$dbUser,$dbPass,$dbName);
if(!$conn){
die("Database connection failed: " . mysqli_connect_error());
}
?>

最佳答案

您必须更改文本区域字段,如下所示 -

<textarea class="text a-note" cols="10" id="confirmationText" name=
"confirmationText[]" rows="1">

并在action2.php中进行必要的更改,如下所示-

<?php
session_start();
include_once('dbConfig.php');
if(isset($_POST['bulk_delete_submit'])){
$idArr = $_POST['checked_id'];
foreach($idArr as $id){
mysqli_query($conn,"DELETE FROM $TableName2 WHERE id=".$id);
}
}

if(isset($_POST['confirmationText'])){
$idArr = $_POST['checked_id'];
foreach($idArr as $key => $id){
mysqli_query($conn,"UPDATE $TableName2 SET Column2='".$new_price[$key]."' WHERE id=".$id);
}
}
?>

关于php - SQL : update multiple rows in php frontend,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33206863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com