我有一个搜索页面,搜索从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>
答案 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);
}