更新 PHP 会在不应该显示的地方显示双精度数据



所以我和我的学生小组正在为一家公司制作一个Web应用程序。在此页面上,我们尝试显示具有不同组号的不同初创公司。我们还希望可以选择更新此号码。更新部分工作正常,它会在他/她的名字后面显示正确的组号。这里真正的问题是,如果我更新一个不同的组号并重新加载页面,所有组的编号都与网页上显示的相同,但在数据库中它显示了我已更新的正确编号。

所以我想立即显示正确的更新编号。这是我下面的php代码。

<?php
session_start();
require 'header.php'; // 
require 'includes/dbh.inc.php';
// Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }
$update = mysqli_real_escape_string($conn, $_POST['group']);
    $sql = "SELECT user_uid, user_name, group_id, active FROM groups";
    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
        // output data of each row
        while ($row = $result->fetch_assoc()) {
            if(!isset($_POST['groupnumber'])) {
                $gnum = $row['group_id'];
            }
            else {
               $gnum = $update;
            }

            echo "<br> Name : " . $row["user_name"] . " - Group number:" . $gnum . "<br> Select new group" .
            "<form method='post'>
            <input type='text' name='group'>
            <button name='groupnumber' value='". $row['user_uid'] ."'> Update </button>
            </form>". "<br>";
        }
    } else {
        echo "0 results";
    }

    if(isset($_POST['groupnumber'])){//if the submit button is clicked
        $id = mysqli_real_escape_string($conn, $_POST['groupnumber']);
        $update = mysqli_real_escape_string($conn, $_POST['group']);

        $query="UPDATE groups SET group_id='$update' where user_uid = $id";
        $conn->query($query) or die("Cannot update");//update or error
        }
    $conn->close();
    ?>

对不起,如果它有点混乱,我仍然是一名学生,我只是一个基本的PHP人:)

当然可以,这就是您在while循环中所拥有的,在这里:

        if(!isset($_POST['groupnumber'])) {
            $gnum = $row['group_id'];
        }
        else {
           // On a POST always show the posted value for all groups
           $gnum = $update;
        }

最新更新