单击按钮时更新信息表

2021-12-25 00:00:00 sql-update forms php mysqli

我有一个表格,可以从数据库中选择信息并显示它,我想知道是否有人可以提供代码让我通过单击按钮来更新列?

I have a table which will select information from a database and display it, I'm wondering if anyone can provide a code for me to update a column on the click of a button?

示例表:(Access=Boolean)

Example Table: (Access=Boolean)

ID   -   Name   -   Access
---------------------------
1   -   John    -    1
---------------------------
2   -   Ben     -    1
---------------------------
3   -   Terry   -    0
---------------------------

我现有的按钮基于引导程序,

My exisiting button is based on bootstrap,

    <button type="button" id="passed" class="btn btn-success btn-flat"><i class="fa fa-check"></i></button>
    <button type="button" id="insufficient" class="btn btn-danger btn-flat"><i class="fa fa-times"></i></button>

我希望有这样的事情,ONCLICK button1 Run $Allowed SQLONCLICK button2 运行 $NotAllowed SQL

I was hoping for something like this, ONCLICK button1 Run $Allowed SQL ONCLICK button2 Run $NotAllowed SQL

$allowed = mysqli_query($conn," UPDATE users SET Access = "1" WHERE id = '27' ");     
$notallowed = mysqli_query($conn," UPDATE users SET Access = "0" WHERE id = '453' ");

推荐答案

您可以使用带有 post 方法的表单和带有命名属性的提交类型的按钮,并在条件语句中使用这些按钮.

You can use a form with a post method and a submit type of buttons with named attributes and use those in a conditional statement.

即:

旁注:我删除了转义引号,因为我不确定这些引号是否已经设置在 echo 中.

Sidenote: I removed the escaped quotes, as I was not sure if those were already set inside an echo.

HTML 表单:

<form method="post" action="handler.php">

    <button type="submit" name="passed" id="passed" class="btn btn-success btn-flat"><i class="fa fa-check"></i></button>
    <button type="submit" name="insufficient" id="insufficient" class="btn btn-danger btn-flat"><i class="fa fa-times"></i></button>

</form>

PHP:

<?php 

// db connection

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

    $allowed = mysqli_query($conn," UPDATE users SET Access = "1" WHERE id = '27' ");

}

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

    $notallowed = mysqli_query($conn," UPDATE users SET Access = "0" WHERE id = '453' ");

}

  • 如果这在任何给定点有任何用户交互,请务必小心.

    • Be careful if this has any user interaction at any given point.

      使用准备好的语句,或 带有准备好的语句的 PDO,它们更安全.

      脚注:

      运行 UPDATE 查询时,最好使用 mysqli_affected_rows() 以获得绝对真实性.

      When running an UPDATE query, it's best to use mysqli_affected_rows() for absolute truthness.

      • http://php.net/manual/en/mysqli.affected-行.php

      否则,您可能会得到误报.

      Otherwise, you may get a false positive.

相关文章