通过PHP插入/更新向数据库更新详细信息,并在不刷新页面的情况下在另一页中回显相同内容

时间:2017-04-25 05:16:38

标签: php mysqli

我有一个与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代码中没有提到过。

任何建议都表示赞赏..

1 个答案:

答案 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>