我有一个与DB交互的php页面,用于插入或更新表中给出的详细信息。
在用户php页面中,用户输入他的详细信息,因此,当点击更新时,它会导致更新php页面,更新详细信息然后重定向到同一页面。但在重定向到用户页面后,它不会回显插入/更新的详细信息,直到我刷新页面。
代码如下:
用户页面:
<div class="col-sm-7 mgbt-xs-20">
<h3 class="mgbt-xs-15 font-semibold"><i class="fa fa-file-text-o mgr-10 profile-icon"></i> ROOM BASIC DETAILS</h3>
<div class="content-list content-menu">
<ul class="list-wrapper">
<li class="mgbt-xs-10"> <span class="menu-icon vd_green"><i class="fa fa-circle-o"></i></span> \
<span class="menu-text"> <a style="font-size:15px;"><?php echo ($row2['name']); ?></a>
at <a style="font-size:15px;" ><?php echo ($row2['location']); ?></a>
<span class="menu-info"><span class="menu-date" style="font-size:15px;"> <?php echo ($row2['type']); ?></span><br>
<span class="menu-date" style="font-size:15px;"> <?php echo ($row2['star']); ?> Star </span></span> </span>
</li>
</ul>
</div>
</div>
PHP页面:
$name = $_POST['name'];
$email = $_POST['email'];
$location = $_POST['location'];
$type = $_POST['type'];
$star = $_POST['star'];
$conn = new mysqli ($servername, $dbusername, $dbpassword, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "UPDATE rooms SET name = '$name', location = '$location', type = '$type', star = '$star'
WHERE email = '$email'";
if ($conn->query($sql) === TRUE) {
echo '<script language="javascript">';
echo 'alert("Details have been Updated")';
echo '</script>';
echo '<a href="user.php"></a>';
}
else {
echo "ERROR" . $sql . "<br>" . $conn->error;
}
现在正如我所说,直到我从php页面重定向后刷新用户页面才会显示更新的详细信息。
请不要担心php页面中的数据库连接,我在PHP代码中没有提到过。
任何建议都表示赞赏..
答案 0 :(得分:0)
我没有看到您的代码,但我认为您将更新查询放在select查询下方。
请将Update Query的代码块移到Select Query的代码块上方。
在其他方面,更新应该在您的选择查询之前发生,以便它获取更新的数据。否则,您的选择查询将在更新前获取数据&amp;因此,您需要刷新页面才能看到更新的数据。
应该如下面的顺序,
<?php
include "dbconnection.php";
include "update.php";
//Perform Your select query here,
$query = "SELECT * FROM table WHERE [YOUR CONDITION]";
mysqli_query($con,$query);
?>
<!-- Your form goes here -->
<form>
<!-- submit this form to update user information -->
</form>