【问题标题】:How to update column coresponding to it current status如何更新与其当前状态相对应的列
【发布时间】:2019-11-18 03:43:26
【问题描述】:

我正在使用 xampp env 构建一个简单的购物清单应用程序,

我正在尝试使“标记为已完成”btn 工作。

我创建了列“is_complete”,默认情况下获取“假”字符,

我想让 btn 在真假之间切换此列。

我在尝试什么

`

include('config/dbConnect.php');

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

    $id_to_mark = mysqli_real_escape_string($conn, $_POST['id_to_mark']);

    $sql = "UPDATE items SET is_completed = !is_completed WHERE id = $id_to_mark";

    if(mysqli_query($conn, $sql)){
        header('Location: index.php');
    } else {
        echo 'query error: '. mysqli_error($conn);
    }
}

?>

 <form action="<?php echo $_SERVER['PHP_SELF'] ?>"  method="POST">
  <input type="hidden" name="id_to_mark" value="<?php echo $item['id']; ?>">
  <input type="submit" name="done" value="Done" class="btn brand green z-depth-0">
 </form>`

只有当我的数据库中有一个表时它才起作用。否则SET is_completed = !is_completed 不知道参考是什么(对我来说完全有意义)

prblm 是当我尝试做类似SET is_completed = !($item['is_completed']) 的事情时,它给了我一个错误。 当我尝试SET is_completed = $newStatus 和外面我声明$newStatus = !($item['is_completed']) 仍然错误:(

(也尝试将 php 标签放在 sql arg 中,但结果证明这是完全非法的......)

有什么建议吗?

谢谢:)

【问题讨论】:

    标签: php mysql sql xampp


    【解决方案1】:

    您可以使用以下查询:

    $sql = "UPDATE items SET is_completed = NOT is_completed WHERE id = $id_to_mark";
    

    即用“NOT”代替“!”

    【讨论】:

      猜你喜欢
      • 2021-07-05
      • 1970-01-01
      • 2023-03-23
      • 1970-01-01
      • 2021-12-26
      • 1970-01-01
      • 2022-12-11
      • 2012-08-06
      • 2020-08-14
      相关资源
      最近更新 更多