2009-05-20 20 views
0

Ich versuche eine Tabelle neu zu laden, die auch von PHP generiert wurde.jQuery - Tabelle neu laden

Die Tabelle hat eine ID: #bookmarks

Nachdem der Benutzer eine Taste gedrückt wird, sollte die Tabelle den Inhalt neu zu laden + die Daten, die sie gerade hinzugefügt haben. Ich bin etwas verwirrt, weil ich nicht weiß, wie man alle Daten von einem PHP-Ergebnis sendet.

Antwort

0

Für spezifische Hilfe mit jQuery, überprüfen Sie das jEditable Plugin, das entwickelt wurde, um die Möglichkeit zu bieten, Daten an Ort und Stelle zu bearbeiten. Es gibt auch Anweisungen, wie Sie die Daten sammeln und speichern können.

+0

Die Bearbeitung ist fertig, es ist nur das Nachladen der Tabelle. –

+0

Ich habe jEditable Danke verwendet. –

0

Wenn der Benutzer die Taste drückt, sollten Sie den Code aufrufen, mit dem die Tabelle geladen wurde. Die Daten können die Daten von Anfang an + die Daten sein, die die Benutzer hinzugefügt haben. Oder die Daten werden möglicherweise vom Server erneut abgerufen, je nachdem, wie Ihre Anwendung funktioniert.

Ein bisschen mehr Informationen könnten die Dinge klären, so dass wir genauere Antworten geben konnten.

1

In Punkt Form:

  • Senden die Daten des Benutzers zurück zu einer PHP-Seite über einen AJAX-Request. (Schauen Sie sich das Plugin jQuery Form an)
  • Die PHP-Seite sollte die Daten akzeptieren und validieren, in die Datenbank einfügen und dann eine Antwort in einem Format an die Seite senden (ich empfehle JSON mit der php-Funktion json_encode.
    • die Antwort sollte entweder ein „abgelehnt“ oder „akzeptiert“ mit den Daten des Nutzers zurück zu ihnen sein, je nach Bedarf von Ihrem eigenen System gereinigt.
  • Dann in der AJAX Erfolg Callback-Methode, die Verwendung jQuery, um die Daten an die Tabelle anzufügen, oder geben Sie ihnen eine Nachricht, warum sie abgelehnt wurde
+0

beginnen Ich benutze JSON nicht die Tabelle zu erzeugen, finde ich es einen zusätzlichen Schritt, die übersprungen werden kann leicht. –

+0

also generieren Sie es auf der Serverseite in PHP? Ich sehe dort keinen großen Unterschied, außer: a) es sind mehr Daten zu senden, und b) Sie setzen Präsentationslogik (HTML-Tags) in Ihre Datenschicht (php). – nickf

4

Dies wird vorausgesetzt, Ihre PHP liefert eine ready-to-injizieren HTML-Code für die Tabelle:

$("#update_button").click(function(){ 
    $("#mytable").load("/tools/getTable.php") 
}) 

auf Ihrer Seite benötigen Sie einen DIV Platzhalter wie folgt aus:

<div id="mytable"></div> 

und Ihre getTable .php muss echo zurück html wie folgt aus:

<table> 
    <tr> 
    <td>col1<td> 
    <td>col2<td> 
    <tr> 
</table> 
+0

kann ich nicht wirklich tun, weil es andere Funktionen gibt, die die Tabelle benötigen, um dort zu sein. –

+0

James aber die Tabelle wird es sein, auch auf der ersten Anfrage, können Sie In der Datei und wenn Sie die Seite Ihre Tabelle öffnen wird geladen und unter Verwendung der AJAX es wird dynamisch abgerufen – duckyflip

+0

Natürlich! Danke duckyflip! –

0

Nun, die Tabelle erzeugt wird dies mit:

<table id="bookmarks"> 
     <thead> 
      <tr class="table-top"> 
       <th>Thumbnail</th> 
       <th>Title/Description</th> 
       <th>Tags</th> 
       <th>Action</th> 
      </tr> 
     </thead> 
     <?php 
     $hID = userToID($_SESSION['username']); 
     $hQuery = mysql_query("SELECT * FROM linkz WHERE userid='$hID'") or die(mysql_error()); 
     while($hRow = mysql_fetch_array($hQuery)) { 
      echo "<tr class='link'><td><img src='http://www.thumbshots.de/cgi-bin/show.cgi?url=".$hRow["location"]."' /></td><td><a href='share/".$hRow['shareid']."'>".$hRow["title"]."</a> - <i>". $hRow["description"]."</i><br /><b>Share Link:</b> http://www.linkbase.us/share/".$hRow['shareid']."</td><td>".$hRow['tags']."</td><td><a href='#' id='".$hRow['shareid']."' class='delbutton'>Delete</a></td></tr>"; 
     } 
    ?> 
    </table> 
+0

Okay, ich denke, Sie brauchen eine andere Arbeitsweise, wenn Sie Ihre Tabelle mit jQuery ajaxifizieren möchten. – Natrium

0

Sie müssen zuerst die Grundlagen von AJAX untersuchen.

Sie müssen lernen, wie man läuft, bevor Sie anfangen können zu laufen.

Suche für einige Tutorials auf Ajax, PHP & Ajax

Here und here 2 sind mit

+0

Alles ist gut in die Tabelle eingegeben, sogar das Löschen funktioniert! Wie wäre es mit dem erneuten Laden der ganzen Seite? Funktioniert location.reload() auch nach einem AJAX-Post? –

+0

location.reload() könnte funktionieren. Das weiß ich nicht wirklich. Also, wenn ich richtig liege, posten Sie die Daten mit Ajax auf dem Server. Aber beim Abrufen verwenden Sie keinen Ajax. Recht? Wenn Sie die Daten mit Ajax, der kompletten Nachladen-Teil abrufen könnte eine Last leichter sein und sauberer als nur einen Document.Reload Durchführung() – Natrium

Verwandte Themen