更改完成后刷新页面而不重置搜索查询

时间:2016-04-14 02:32:36

标签: php html mysql sql database

我有一个搜索页面,搜索从SQL数据库中获取数据。编辑和删除等搜索结果有不同的功能。我的问题是,当我编辑或删除搜索结果时,页面会刷新并仅加载搜索栏。我希望页面重新加载上一次搜索的结果,但是使用了编辑/删除。有没有一般的方法这样做?我在网上搜索,发现mysqli_close($link);是造成这种情况的原因。这意味着关闭连接并重新打开。我注释掉了这一行,但页面仍然刷新并仅加载搜索栏。

我将发布一个函数的代码和调用它的表单。忽略gtype的缺失代码。有很多代码可以选择类型。我没有使用SESSIONS并且不打算这样做。

<?php
if(isset($_POST['update']))
{

    $gid = $_POST['gid'];
    $gname = $_POST['gname'];
    $gtype = $_POST['gtype'];

    $update = " UPDATE galleries_info SET 
    Gallery_Name='$gname', Gallery_Type_Id='$gtype' WHERE Gallery_Id='$gid'";
    $result2 = mysqli_query($link, $update);
    echo "Gallery updated";

    //mysqli_close($link);
}
?>php

if(isset($_POST['search'])){ ?>

$link = mysqli_connect($host, $username,$password ,$db );
$search_result = mysqli_query($link, $query);
<!-- populate table from mysql database -->
<?php 

while($row = mysqli_fetch_array($search_result)):?>
<form action="admin.php" method="post" enctype="multipart/form-data">
  <h3>Gallery Info</h3>
  Gallery ID: <input type="text" name="gid" readonly value="<?php echo $row['Gallery_Id']; ?>"  /><br><br>
  Gallery Name: <input type="text" name="gname" value="<?php echo $row['Gallery_Name']; ?>"  /><br><br>
  <input type="submit" name="update" value="Update Gallery Info" >
  </div>
</form>

1 个答案:

答案 0 :(得分:0)

您可以在成功插入数据库后立即打印html:

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

    $gid = $_POST['gid'];
    $gname = $_POST['gname'];
    $gtype = $_POST['gtype'];

    $update = " UPDATE galleries_info SET 
    Gallery_Name='$gname', Gallery_Type_Id='$gtype' WHERE Gallery_Id='$gid'";
    $result2 = mysqli_query($link, $update);
    //returns either false or object

    if(is_object($result2)){
    ?>
      <div class="updated_info_class">
       <h3>Gallery Info Updated!</h3>
       Gallery ID: <?php echo $gid; ?><br><br>
       Gallery Name: <?php echo $gname; ?><br><br>
       Gallery Type: <?php echo $gtype; ?><br><br>
     </div> 
    <?php
    } else {
        echo '<div class="warning">Ruh Roh! Not updated.</div>';
    }
    mysqli_close($link);
}