gpt4 book ai didi

php - 使用 PHP 和 HTML 表单更新多个 SQL 行

转载 作者:行者123 更新时间:2023-11-29 10:32:53 25 4
gpt4 key购买 nike

我有一个表,其中包含 SQL 数据库中的行,我希望能够更改其值。我构建了一个内置选择选项的表单,以便可以更改数据库中的一行数据。我希望能够通过提交一个表单来同时更改数据库中的多行。这是我用 php 创建表单和表格的代码。我可以弄清楚如何将所有值传递到 Updatedb.php 页面,但从那里我不知道如何更新数据库中的多行。

<form action="updatedb.php" method="POST">
<tbody>
<?php
$servername = "localhost";
$username = "******";
$password = "******";
$dbname = "database";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}


$sql = "SELECT * FROM table WHERE value = '$value'";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {

$test = $row["value3"];
$test2 =$row["value5"];

if ($row["status"] == "Value1") { $status1 = 'selected'; } else { $status1 = ''; }

if ($row["status"] == "Value2") { $status2 = 'selected'; } else { $status2 = ''; }

if ($row["status"] == "Value3") { $status3 = 'selected'; } else { $status3 = ''; }

if ($row["status"] == "Value4") { $status4 = 'selected'; } else { $status4 = ''; }

if ($row["status"] == "Value5") { $status5 = 'selected'; } else { $status5 = ''; }

//This is the table that is created
echo "
<tr><td>" . $row["value"] . $row["value2"] . "</td>
<td>" . $row["value3"] . "</td>
<td>" . $row["value4"] . "</td>
<td>" . $row["value5"] . "</td>
<td>" . $row["value6"] . "</td>
<td>" . $row["value7"] . "</td>

<td>
<select name='status[]' required>
<option $status1 value='Status1'>Status1</option>
<option $status2 value='Status2'>Status2</option>
<option $status3 value='Status3'>Status3</option>
<option $status4 value='Status4'>Status4</option>
<option $status5 value='Status5'>Status5</option>
</select>
</td>

<td>" . $row["value8"] . "</td></tr>";
echo "
<input name='send[]' value='$test' style='display: none' />".
"<input name='send2[]' value='$test2' style='display: none' />";
}

} else {
//No data to show
}

$conn->close();

?>
</tbody>
<button type="submit">Submit</button>
</form>

最佳答案

在你的updatedb.php文件中你会得到status、send和send2的数组

First of all you need id of records so you can add one hidden fields with id in your form like

<input type="hidden" name="id[]" value="$row['id']">

比你的updatedb.php中的

for($i=0;$i<count($_POST['id']);$i++){    
$sql = "update tableName set status = '".$_POST['status'][$i]."',send = '".$_POST['send'][$i]."',send2 = '".$_POST['send2'][$i]."' where id = '".$_POST['id'][$i]."'";
if(!mysql_query($sql)){
echo "not updated".$_POST['id'][$i]; exit();
}

}

关于php - 使用 PHP 和 HTML 表单更新多个 SQL 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47068479/

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