Einfache Ajax-Jquery-script - Wie bekomme ich Informationen für jede der Zeilen in der Tabelle?
Bin ich nach einem einfachen ajax - >php>mysql-Beispiel hier gepostet http://openenergymonitor.org/emon/node/107
Kann ich nur die Anzeige der Informationen aus der ersten Zeile.
Meine Tabelle ist so eingerichtet, damit
--------------
| id | name|
--------------
| 1 | Pat |
| 2 | Joe |
| 3 | Rob |
--------------
Den php-code
$result = mysql_query("SELECT * FROM $tableName"); //query
$array = mysql_fetch_row($result); //fetch result
echo json_encode($array);
Skript
$(function ()
{
$.ajax({
url: 'api.php', data: "", dataType: 'json', success: function(data)
{
var id = data[0]; //get id
var vname = data[1]; //get name
$('#output').html("<b>id: </b>"+id+"<b> name: </b>"+vname);
}
});
});
ZEILE 1
Wenn ich die var id = data[0];
bekomme ich den Wert 1 ein.
Wenn ich die var name = data[1];
ich bekomme Pat.
ZEILEN 2-n-3 sind nicht definiert
Beispiel var id=data[2];
gibt Sie undefined zurück
etc
Meine Fragen
-
Warum bekomme ich nur die Werte aus der ersten Zeile?
-
Wie kann ich Informationen für die Zeilen, die andere als die erste?
Anderer Fragen auf Stackoverflow, die ich sehe, dass ich vermutlich mit einer while-Schleife, aber ich bin mir nicht wirklich sicher, warum oder wie.
- versuchen Sie es mit mysql_fetch_array anstatt mysql_fetch_row. Grüße Jonas
- Können Sie Zugriff auf die php-Seite allein zu tun, anstatt durch die ajax-Anfrage und sagen Sie uns, was der json-echo-druckt auf dem Bildschirm?
- Danke. Ich habe versucht, mysql_fetch_array, aber es immer noch undefined zurückgegeben für Daten[2],Daten[3],usw.
- Costa bekam ich ["1","Pat"]
- Übrigens alle
mysql_fetch_*
Funktionen zurück, nur 1 Zeile! - Danke. Das ist sehr nützlich! Sieht aus wie ich habe ein bisschen PHP-Studie zu tun.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die alte MySQL-Erweiterung
mysql
ist veraltet, eine bessere Nutzungmysqli
oderPDO
!mysql_fetch_row()
gibt nur 1 Zeile!Sie haben, um es in eine Schleife, zum Beispiel:
Müssen Sie auch ändern Sie den JavaScript:
Übrigens würde ich Ihnen empfehlen,
mysql_fetch_assoc()
, weil es macht den code flexibler und sauberer.$result = mysql_query("SELECT * FROM $tableName");
$array = array(mysql_fetch_row($result));
while($row = mysql_fetch_row($Ergebnis)) { $array[] = $row; } echo für json_encode($array);