Zufallsausgabe von Datensätzen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
ahnung
array
ausgabe
ausgeben
code
dank
datenbank
datensatz
einzelnen felder
fehlermeldung
feld
limit
ordern
rand
tip
trennen
verarbeiten
verbinden
verbindung
-
Hallo PHP-Freunde!
Ich bastele ab einem Script herum, mit dem ich aus einer Datenbank 3 zufällig ausgewählte Datensätze editieren kann. Wie am Script unschwer zu erkennen ist habe ich nicht viel Ahnung von PHP. Bin jedoch davon überzeugt, dass es mit der rand()-Funktion eigendlich klappen müsste.
Das Gute : die Verbindung zur DB über die externe Funktion klappt schon mal und ich bekomme keine Fehlermeldungen (mehr).
Das Blöde: ich bekomme kein verwertbares Ergebnis, sondern nur "Resource id #4 ", und zwar bei jeder Abfrage.
Wär Suppi, wenn mir da jemand weiterhelfen könnte!
Greetz und ein frohes Fest!!!
Hier das Script:
<?php
include("extern/functions.php");
verbindung_db();
$link = verbindung_db();
$zufallsausgabe = "SELECT * FROM `nl_kunden` ORDER BY RAND() LIMIT 3";
$ausgabe = mysql_query($zufallsausgabe);
mysql_fetch_assoc($ausgabe);
echo $ausgabe;
mysql_close($link);
?> -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Probier einfach mal das, ist zwar ungetestet, sollte aber funktionieren:
<?php // Zur Datenbank verbinden: include("extern/functions.php"); $link = verbindung_db(); // Abfrage ausführen: $result = mysql_query("SELECT * FROM `nl_kunden` ORDER BY RAND() LIMIT 3"); // Die einzelnen Datensätze durchlaufen: while ($row = mysql_fetch_assoc($result)) { // Datensatz ausgeben: var_dump($row); } // Verbindung zu MySQL schließen: mysql_close($link); ?>
Lg cookies -
Vielen Dank, Cookies!
Dein Script funzt!!! Hatte zwischenzeitlich folgende Lösung:
<?php
include("extern/functions.php");
verbindung_db();
$link = verbindung_db();
$zufallsausgabe = "SELECT * FROM `nl_kunden` ORDER BY RAND() LIMIT 3";
$result = mysql_query($zufallsausgabe);
while ( $row = mysql_fetch_row($result) )
{
echo("$row[0]");
}
mysql_close($link);
?>
Da wurde jedoch nur jeweils der Inhalt des ersten Felde ausgespuckt, selbst wenn ich statt SELECT * die einzelnen Felder abgefragt habe. Keine Ahnung warum.
Kannst du mir noch einen Tipp geben wie ich die einzelnen Datensätze optisch voneinander trennen kann? Hab´s einfach mit \n versucht, da bekomm ich aber eine Fehlermeldung.
LG. -
<?php // Zur Datenbank verbinden: include("extern/functions.php"); $link = verbindung_db(); // Abfrage ausführen: $result = mysql_query("SELECT * FROM `nl_kunden` ORDER BY RAND() LIMIT 3"); // Die einzelnen Datensätze durchlaufen: while ($row = mysql_fetch_assoc($result)) { // Datensatz ausgeben: var_dump($row); echo '<br />'; } // Verbindung zu MySQL schließen: mysql_close($link); ?>
… sollte gehen.
Lg cookies -
$row ist ein Array und darin sind die einzelnen Felder...
Einfach den Code erweitern
while ( $row = mysql_fetch_row($result) ) { echo("$row[0]"); // Feld 1 echo("$row[1]"); // Feld 2 echo("$row[2]"); // Feld 3 echo("$row[3]"); // Feld 4 // usw. bis du alle Felder durch hast }
Du musst $result auch zuerst verarbeiten. Darum auch das Array.
Mit var_dump() gibst du alles als eine Zeichenkette aus somit nützt dir das <br> nicht wirklich viel.
Vielleicht wären zuerst mal PHP und MySQL Grundlagen angesagt. Die gibts hier: http://tut.php-quake.net/de/mysql.html
Beitrag zuletzt geändert: 24.12.2010 13:42:44 von frnkymen -
Jau, so klappt das. Nochmal ein dickesTHX an Cookies.
@frnkymen: Danke für den Tipp, werd ich mir demnächst mal zu Gemüte führen. Jetzt erstmal X-Mas.
Frohes Fest!
PS.: Mit dem von dir vorgeschlagenen Zusatz funzt auch mein Script. Nochmal Danke. Bin davon ausgegangen, dass mit row das komplette array ausgegeben wird. Muss mich wirklich mehr mit PHP/MySql befassen, war bisher nicht meine Baustelle. Das Tutorial ist dafür sehr hilfreich.
Greetz
Beitrag zuletzt geändert: 25.12.2010 18:06:16 von donmanfredo -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage