php - 如何通过foreach循环进行更新

标签 php jquery mysql forms foreach

我想通过foreach循环更新数据库中表单字段的数据。我在 test_table ID 和输入中有两列。我已通过 while 循环获取数据并打印了该值。现在我想更新获取的值。请对此给予一些指导。

这是我的代码,

$sql = "select * from test_table";

 if($result = mysqli_query($conn, $sql))
 {
     while($row = mysqli_fetch_array($result))
     {
         $inputResult[]=$row;


     }

 }  <form method="POST">    <input type="text" value=<?php
echo $inputResult[0]['Input']; ?> id="$inputResult[0]['ID']">        <input
type="submit" name="submit">    </form>         <?php

if (isset($_POST['submit'])
    {
    $input = $inputResult[];
    foreach($input as $inputs => $value)
        {
        $Sql = "update test_table set Input='$value' where = '$inputs'";
        mysqli_query($conn, $sql);
        }
    } ?>

请告诉我我的代码中有什么错误?提前致谢。

最佳答案

下一个解决方案非常针对您的问题。输入文本是表单中的第一个元素,因此,在 PHP 代码中,我们可以通过访问数组 $_POST 中的第一项来获取输入的 ID 和 VALUE(更改由箭头指出) ◄■■■):

<?php
$sql = "select * from test_table";

if($result = mysqli_query($conn, $sql)) {
    while($row = mysqli_fetch_array($result)) {
        $inputResult[]=$row;
    }
}
?>

<form method="POST">
    <input type="text" value="<?php echo $inputResult[0]['Input'];?>"
                       name="<?php echo $inputResult[0]['ID'];?>" /> ◄■■■ NAME, NOT ID.
    <input type="submit" name="submit" />
</form>

<?php
if ( isset($_POST['submit']) ) {
    $value = reset( $_POST ); // ◄■■■ FIRST VALUE IN $_POST (['input']).
    $id = key( $_POST ); // ◄■■■ FIRST KEY IN $_POST (['ID']).
    $Sql = "update test_table set Input='$value' where id='$id'"; // ◄■■■ $VALUE AND $ID.
    mysqli_query($conn, $sql);
}
?>

我在输入文本中将属性 id= 替换为 name=,因为 PHP 需要名称,而不是 id。

获得第一个值和第一个键后,我们可以将它们插入到sql字符串中。

编辑:

修复了丢失的标签(哎呀!)。我想我发现了错误,它太小了,很难看到:请注意下一行:

     ▼
    $Sql = "update test_table set Input='$value' where id='$id'"; // ◄■■■ $VALUE AND $ID.

你看到左边的变量了吗:$Sql(第一个字母是大写的)。现在让我们看看下一行:

                         ▼
    mysqli_query($conn, $sql);

同一个变量不是大写的,一旦你解决了这个问题,一切就正常了:

     ▼
    $sql = "update test_table set Input='$value' where id='$id'"; // ◄■■■ $VALUE AND $ID.
    mysqli_query($conn, $sql);
                         ▲

关于php - 如何通过foreach循环进行更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39575724/

相关文章:

php - Paypal 捐赠按钮

Java:Hibernate - 查询以从多个表中删除

javascript - 为滑动图像添加悬停和 onclick 效果?

javascript - Laravel 中的 Ajax

php - 用于查询表中所有记录的字符串

mysql - SQL:求和返回结果的最大值

php - jQuery 相当于 PHP 的 strtr

php - 如果嵌套数组为空,则删除 mongo 数组

php - mysqli_real_escape_string 安全吗?

javascript - 简单的幻灯片第一张幻灯片完全淡出