2012-04-02 10 views
1

Ich hole ein Problem, obwohl ich weiß, dass es kein großes Problem ist, aber etwas ist anders als ich, wie ich neu. Ich habe eine Seite mit einer Liste von Datensätzen, die aus einer Datenbank abgerufen werden. Jetzt ist eine Schaltfläche vorhanden, nach dem Klicken auf die Datensätze wird ein Popup mit einigen Daten geöffnet. Innerhalb dieses Pop-Ups wird ein weiterer Link "Restore" genannt, wann auch immer, dieser Link wird ausgeklickt, die Datenbank wurde aktualisiert. Bis jetzt ist es okay für mich. Aber wann immer ich das Popup schließe, sollte sich meine Liste der Datensätze automatisch ändern, wenn einige Datensätze wiederhergestellt wurden. Aber ich bekomme das Ergebnis erst, wenn ich die Seite nicht aktualisiere. so wie kann ich dies tun, bitte helfen Sie mir ....jquery und ajax Seite Erfrischungsfrage

$(function() { 
     $(".delete").click(function() { 
      $('#load').fadeIn(); 
      var commentContainer = $(this).parent(); 
      var id = $(this).attr("id"); 
      var string = 'id='+ id ; 

      $.ajax({ 
       type: "POST", 
       url: "restore-request-process.php", 
       data: string, 
       cache: false, 
       success: function(){ 
       commentContainer.slideUp('slow', function() {$(this).remove();}); 
       $('#load').fadeOut(); 
       } 

      }); 


      //return false; 
     }); 
    }); 

in der restore-Anfrage-process.php Seite habe ich nur die Datenbank aktualisieren und Echo der ID.

Antwort

0

Nach dem Datenbank-Update, eine Funktion aufrufen, die Front-End oder einfach nachladen Seite mit location.reload()

0

Sie globale Funktion in übergeordnete Fenster

function Update(){ 
//global function in parent, update div 
} 

auf Popup-Fenster Anruffunktion

erklärt haben, müssen aktualisiert werden
window.opener.Update(); 

das wird automatisch Ihre div laden, und nicht alle Seite, wenn es nicht notwendig ist

0

Angenommen, dies ist Ihr Eintrag Format

<table> 
<?php 
foreach($results as $result) { ?> 
<tr id="my_div"> 
<td><?php echo $result->name?></td> 
<td class="delete" id="<?php echo $result->id?>"><img src="delete.png"/></td> 
</tr> 

<?php } ?> 
</table> 

In restore-Anfrage-process.php eine Abfrage schreiben, die alle das Ergebnis aus der Datenbank holen und Echo nur das Ergebnis wie dieses

$result = mysql_query("SELECT * FROM my_table"); 

while($row = mysql_fetch_array($result)) 
    { 

echo '<td>'. echo $row["name"].'</td> 
    <td class="delete" id="'. echo $row["id"].'"><img src="delete.png"/></td>' ; 

    } 

und onsuccess Ersetzt den gesamten Inhalt in der my_div mit Antworttext CODE IS NOT TESTED für weitere Referenzen können Sie gehen this link