使用PHP while循环创建的按钮不会更新MySQL数据库

时间:2017-12-01 17:37:27

标签: php mysql

我正在使用PHP和MySQL创建一个多用户共享待办事项列表应用程序。目前,我的应用程序通过使用while循环迭代数据库表来显示待办事项列表项。

所有这些都正常,所以我知道我正在连接数据库。 while循环的一部分还生成按钮,允许用户声称"没有任何人在其上工作的项目或表示项目已完成的项目。但是,按钮不会更新数据库表。

<?php

    include 'includes/dbh.inc.php';

    $sql = 'SELECT * FROM items WHERE item_is_done = 0';
    $result = mysqli_query($conn, $sql);

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

    $creator = $row['item_creator'];
    $owner = $row['item_owner'];
    $id = $row['item_id'];

    if (isset($_POST['do_item'])) {

       $update = "UPDATE items SET item_owner = $currentID WHERE item_id = $id;";
       mysqli_query($conn, $update);

       header("Location: ../todo.php?code=doing");
       exit();

    } else if(isset($_POST['complete_item'])) {

        $update = "UPDATE items SET item_is_done = 1 WHERE item_id = $id;";
        mysqli_query($conn, $update);

        header("Location: ../todo.php?code=done");
        exit();
    }

    echo '<h4>Item ID:</h4>' . $id . '<br><br>';
    echo '<h4>Item created by:</h4>' . $creator . '<br><br>';
    echo '<h4>Date Added: </h4>' . $row['item_add_date'] . '<br><br>';
    echo '<h4>Item Title: </h4>' . $row['item_title'] . '<br><br>';
    echo '<h4>Description: </h4>' . $row['item_description'] . '<br>';

    if($row['item_owner'] == 'None') {

        echo '<br>';
        echo '<button type="submit" name="do_item" formaction="todo.php" formmethod="POST">Do Item</button>';
        echo '<br>';

    } else if($row['item_owner'] != 'None') {

        echo '<br>';
        echo '<h4>Item is being worked on by: </h4>' . $owner . '<br><br>';
        echo '<button type="submit" name="complete_item" formaction="todo.php" formmethod="POST">Complete Item</button>';
        echo '<br>';
    }

    echo '<hr>';
}
?>

1 个答案:

答案 0 :(得分:-1)

我也遇到了同样的问题我所做的是我试图将更新变量放在&#39; &#39;单引号。

如果它可以帮到您,您可以尝试此查询

$update = "UPDATE items SET item_owner='$currentID' WHERE item_id='$id'";

$update = "UPDATE items SET item_is_done='1' WHERE item_id ='$id'";