所以我和我的学生小组正在为一家公司制作一个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;
}