Mehrere Daten aus MySQL Tabelle abrufen und ausgeben
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
ahnung
anzahl
array
ausgabe
code
datum
ergebnis
ersten wert code
krieg
limit
nachfrage
nachname
page
schleife
start
url
verbindung
vorname
zeile
-
Hallo,
ich arbeite gerade an einer Suche für meine Website.
Dort möchte ich alle User suchen können.
Ich rufe nun so die Daten ab:
<?php include ("db-verbindung.php"); $abfrage = "SELECT vorname,nachname FROM user"; $ergebnis = mysql_query($abfrage); $row = mysql_fetch_object($ergebnis); echo $row->vorname." ".$row->nachname; ?>
Die DB-Verbindung funktioniert und alles eigentlich.
Nur gibt er mir immer nur den ersten User aus.
Wie kriege ich es hin, dass er mir alle User nacheinander anzeigt?
Beitrag zuletzt geändert: 11.2.2012 14:09:52 von carl-schoeneich -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
carl-schoeneich schrieb:
Die DB-Verbindung funktioniert und alles eigentlich.
Nur gibt er mir immer nur den ersten User aus.
Wie kriege ich es hin, dass er mir alle User nacheinander anzeigt?
Du musst eine Schleife machen, die solage läuft, wie Datensätze vorhanden sind
am einfachsten mit while()
$abfrage = "SELECT vorname,nachname FROM user"; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) { echo "<br />".$row->vorname." ".$row->nachname."\n"; }
so kommst Du an alle Datensätze
Beitrag zuletzt geändert: 11.2.2012 14:23:28 von campz -
Danke!!!!
Funktioniert Super!
Nur kann ich auch die Daten alle in Variablen wie user[1], user [2] usw. speichern?
Beitrag zuletzt geändert: 11.2.2012 14:32:28 von carl-schoeneich -
$abfrage = "SELECT vorname,nachname FROM user"; $ergebnis = mysql_query($abfrage); $user = array(); while($row = mysql_fetch_object($ergebnis)) { // echo "<br />".$row->vorname." ".$row->nachname."\n"; $user[] = $row->vorname." ".$row->nachname; }
Wenn du nur die Namen benötigst. -
carl-schoeneich schrieb:
Danke!!!!
Funktioniert Super!
Nur kann ich auch die Daten alle in Variablen wie user[1], user [2] usw. speichern?
nimm mysql_fetch_assoc() und baue Dir in der while() Schleife ein neues Array
$abfrage = "SELECT vorname,nachname FROM user"; $ergebnis = mysql_query($abfrage); $userdaten = array(); while($row = mysql_fetch_assoc($ergebnis)) { $userdaten[] = $row; } foreach ($userdaten as $useritem) { echo "<br />".$useritem['vorname']." ".$useritem['nachname']."\n"; }
wenn Du viele Daten hast,
dann lohnt es sich immer nur 10 Daten auszugeben, also mit LIMIT
BSP: (nicht getestet)
<?php // ----------------------------------------------------------- $proseite = 10; $runpage = $_SERVER['PHP_SELF']; include ("db-verbindung.php"); // ------- Aktuelle Seite -------- if (!empty($_GET['page'])) { $runpage = $_GET['page']; } else { $runpage = 1; } // ------- Anzahl der Zeilen -------- $query1 = mysql_query("SELECT COUNT(*) FROM user"); list($anzahl) = mysql_fetch_row($query1); // ------- Anzahl der Seiten -------- $seiten = ceil($anzahl/$proseite); // ------- Ausgabe Seiten Navigation -------- echo "<p>Seiten --- "; for ($p=1; $p<=$seiten; $p++) { echo " <a href=\"$runpage."?page=".$p."\"><strong>".$p."</strong></a> --- "; } echo "</p>"; // ------- Start-Wert fuer LIMIT -------- $start = (($runpage*$proseite) - $proseite); // ------- MySQL Abfrage -------- $abfrage = "SELECT vorname,nachname FROM user LIMIT $start,$proseite"; $ergebnis = mysql_query($abfrage); // ------- MySQL Ergebnis in Array schreiben -------- $userdaten = array(); while($row = mysql_fetch_assoc($ergebnis)) { $userdaten[] = $row; } // ------- Ausgabe der Daten -------- echo "<br />\n"; echo "<br />Aktuelle Seite: ".$runpage."\n"; echo "<br />\n"; echo "<br />\n"; foreach ($userdaten as $useritem) { echo "<br />".$useritem['vorname']." ".$useritem['nachname']."\n"; } // ----------------------------------------------------------- ?>
ich hoffe das BSP funktioniert ... habs nicht getestet
für bessere Übersicht bei sehr vielen Zeilen (Datensätzen)
wenn Du bisher nur wenige Zeilen hast
kannst Du es ja mal mit $proseite = 1; testen,
dann solle es je User eine Seite geben
Beitrag zuletzt geändert: 11.2.2012 15:01:35 von campz -
Geht es auch, dass man die Daten in einem Arry jetzt direkt speichert?
Ich meine damit, dass die Vor- und Nachnamen immer zusammen als einfach Name, alle in einem Arry gespeichert werden?
-
Ist auch praktisch!
Aber jetzt kriege ich wieder nur den ersten Wert!
<?php include ("db-verbindung.php"); $abfrage = "SELECT CONCAT(vorname, ' ', nachname) AS name FROM user"; $ergebnis = mysql_query($abfrage); $row = mysql_fetch_object($ergebnis); $user=$row->name; ?>
Wenn ich jetzt:
echo $user;
Dann erhalte ich immer nur den ersten User!
Wie kriege ich alle User mit Vor- und Nachname in einer Array gespeichert?
(Vor- und Nachname eines Users sollen zusammen einen Wert ergeben!) -
carl-schoeneich schrieb:
ich habe nur die abfrage geändert, du hast die while schleife ausgelassen! warum?
Ist auch praktisch!
Aber jetzt kriege ich wieder nur den ersten Wert!
<?php include ("db-verbindung.php"); $abfrage = "SELECT CONCAT(vorname, ' ', nachname) AS name FROM user"; $ergebnis = mysql_query($abfrage); $row = mysql_fetch_object($ergebnis); $user=$row->name; ?>
Wenn ich jetzt:
echo $user;
Dann erhalte ich immer nur den ersten User!
Wie kriege ich alle User mit Vor- und Nachname in einer Array gespeichert?
(Vor- und Nachname eines Users sollen zusammen einen Wert ergeben!) -
Meinst du so?
<?php include ("db-verbindung.php"); $abfrage = "SELECT CONCAT(vorname, ' ', nachname) AS name FROM user"; $ergebnis = mysql_query($abfrage); $userdaten = array(); while($row = mysql_fetch_assoc($ergebnis)) { $userdaten[] = $row; } foreach ($userdaten as $useritem) { echo "<br />".$useritem['vorname']." ".$useritem['nachname']."\n"; } ?>
Da kommt gar nichts! -
carl-schoeneich schrieb:
Kann ja auch gar nicht, weil du in der Abfrage das Feld
Da kommt gar nichts!
nennst.name
So funktioniert es:<?php include ("db-verbindung.php"); $abfrage = "SELECT CONCAT(vorname, ' ', nachname) AS name FROM user"; $ergebnis = mysql_query($abfrage); $userdaten = array(); while($row = mysql_fetch_assoc($ergebnis)) { $userdaten[] = $row; } foreach ($userdaten as $useritem) { echo "<br />".$userdaten['name']."\n"; } ?>
Beitrag zuletzt geändert: 11.2.2012 18:00:47 von hackyourlife -
Ich weiß ich hab da keine Ahnung, aber ist das jetzt eine Array und wenn ja, was ist da die Array?
-
carl-schoeneich schrieb:
Das ist das Array:
Ich weiß ich hab da keine Ahnung, aber ist das jetzt eine Array und wenn ja, was ist da die Array?
.$userdaten
-
Hab ich mir auch gedacht...
Aber da ich von so was kaum Ahnung habe ist Nachfragen sicher besser! -
carl-schoeneich schrieb:
Hab ich mir auch gedacht...
Aber da ich von so was kaum Ahnung habe ist Nachfragen sicher besser!
Funktioniert es jetzt wenigstens? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage