2016-04-14 17 views
0

Aramanın bir SQL veritabanından veri getirdiği bir arama sayfam var. Düzenleme ve silme gibi arama sonuçları için farklı işlevler vardır. Sorunum, bir arama sonucunu düzenlediğimde veya sildiğimde, sayfa yalnızca arama çubuğunu yeniler ve yükler. Sayfanın önceki aramanın sonuçlarıyla, ancak yapılan düzenlemeler/silme işlemleriyle yeniden yüklenmesini istiyorum. Bunu yapmanın genel bir yolu var mı? İnternette aradım ve bunun nedeninin mysqli_close($link); olduğunu buldum. Bu bağlantıyı kapatmak ve tekrar açmak demek. Bu satırı yorumladım, ancak yine de sayfa sadece arama çubuğunu yeniliyor ve yüklüyor.Değiştirildikten sonra arama sorgusunu sıfırlamadan sayfayı yenileyin

Bir işlevin kodunu ve onu çağıran formu yayınlayacağım. gtype için eksik kodu yok sayın. Türü seçmek için çok fazla kod var. Ben SESSIONS kullanmıyorum ve niyetinde değilim.

<?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> 
Bunu başarıyla veritabanına içine yerleştirilen hemen sonra html baskı olabilir
+0

Olası yinelenen: // stackoverflow.com/questions/7014146/how-to-remember-input-data-in-the-forms-even-after-refresh-page) – larsAnders

+0

@larsAnders, nope, SESSIONS kullanmıyorum ve niyetinde değilim. –

+0

Yani, en alttaki form - aslında bir foreach döngüsünde ve bu kodun bir kısmını görmüyoruz? $ Row ['Gallery_Id'] 'nereden geliyor? – larsAnders

cevap

0

:

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); 
} 
[hatta yenileme sayfadan sonra formlarda giriş verilerini hatırlamak nasıl?] (Http
İlgili konular