Zufällige Datensätze auswählen funktioniert nicht
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
abfragen
ausgabe
benutzer
code
datenbank
double
einstellung
fakt
fassung
fehlermeldung
insider
limit
meldung
ordern
rand
server
text
versuch
zufall
-
ich will aus einer datenbank zufällig datensätze ausgeben, doch ich sehe weder eine ausgabe noch eine fehlermeldung
<div id="zufall" onmousedown="dragstart(this)" ><?php srand((double)microtime()*1000000); $zufall = rand(1,3); $server = "mysql.lima-city.de"; $benutzer = " mein_username"; $pass = "mein_passwort"; mysql_connect ($server, $benutzer, $pass); mysql_select_db (meine_db); $text = mysql_query("SELECT 'fakt' FROM 'zufall' WHERE 'id'=$zufall"); $link = mysql_query("SELECT 'link' FROM 'zufall' WHERE 'id'=$zufall"); echo $text; echo '<br><br> <a href="$link" class="normal">mehr</a>'; ?></div>
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
<div id="zufall" onmousedown="dragstart(this)" ><?php srand((double)microtime()*1000000); $zufall = rand(1,3); $server = "mysql.lima-city.de"; $benutzer = " mein_username"; $pass = "mein_passwort"; mysql_connect ($server, $benutzer, $pass); mysql_select_db (meine_db); $text = mysql_query("SELECT fakt FROM zufall WHERE id = '$zufall'"); $link = mysql_query("SELECT link FROM zufall WHERE id = '$zufall'"); echo $text; echo '<br><br> <a href="$link" class="normal">mehr</a>'; ?></div>
Versuchs mal so, denn die SQL-Abfrage ist nicht ganz richtig!
Beitrag zuletzt geändert: 18.5.2009 18:48:52 von cookies -
funktioniert immer noch nicht
-
Schon mal was von mysql_fetch_array() gehört?
<div id="zufall" onmousedown="dragstart(this)" ><?php srand((double)microtime()*1000000); $zufall = rand(1,3); $server = "mysql.lima-city.de"; $benutzer = " mein_username"; $pass = "mein_passwort"; mysql_connect ($server, $benutzer, $pass); mysql_select_db (meine_db); $text = mysql_fetch_array(mysql_query("SELECT fakt FROM zufall WHERE id = '$zufall'")); $link = mysql_fetch_array(mysql_query("SELECT link FROM zufall WHERE id = '$zufall'")); echo $text['fakt']; echo '<br><br> <a href="'.$link['link'].'" class="normal">mehr</a>'; ?></div>
-
MYSQL Abfragen immer mit
` <<< für Tabelle und Tabellen Felder
' <<< nur für Value (Werte)
>>`<< != >>'<<
mit ' bei Feldern 'db_feld' gibt es einen error! Richtig `db_feld`
Richtige SQL:
$text = mysql_fetch_array(mysql_query("SELECT `fakt` FROM `zufall` WHERE `id` = '$zufall'")); $link = mysql_fetch_array(mysql_query("SELECT `link` FROM `zufall` WHERE `id` = '$zufall'")); echo $text['fakt'];
nikic schrieb:
Insider-Tipp: Bei MySQL gibt es ein ORDER BY RAND() ;)
Also:
SELECT fakt, link FROM zufall ORDER By RAND() LIMIT 1
Hoffentlich hast du keine über 1.000 oder gar 10.000 und mehr Beiträge...
Beitrag zuletzt geändert: 18.5.2009 19:17:12 von deineagentur -
Aber bei Namen, die nicht geschützt sind, kann man sie auch weglassen!
z.B.
SELECT user, ...
aber
SELECT `from`, ...
da from ein geschützter Begriff ist.
Beitrag zuletzt geändert: 18.5.2009 19:19:12 von cookies -
deineagentur schrieb:
Hoffentlich hast du keine über 1.000 oder gar 10.000 und mehr Beiträge...
Huh, warum?
Wenn MySQL nicht allzu ineffizient arbeitet (also man eine effektive Egine nimmt, nicht Falcon, das unterstützt das LIMIT nicht wirklich) dann sollte er eigentlich nur einen Datensatz generieren und den zurückgeben. Beachte, dass LIMIT in den meisten Engines (Ausnahme Falcon, obwohl da der Bug sicher schon längst weg ist) sehr effektiv umgesetzt ist. -
cookies schrieb:
Schon mal was von mysql_fetch_array() gehört?
<div id="zufall" onmousedown="dragstart(this)" ><?php srand((double)microtime()*1000000); $zufall = rand(1,3); $server = "mysql.lima-city.de"; $benutzer = " mein_username"; $pass = "mein_passwort"; mysql_connect ($server, $benutzer, $pass); mysql_select_db (meine_db); $text = mysql_fetch_array(mysql_query("SELECT fakt FROM zufall WHERE id = '$zufall'")); $link = mysql_fetch_array(mysql_query("SELECT link FROM zufall WHERE id = '$zufall'")); echo $text['fakt']; echo '<br><br> <a href="'.$link['link'].'" class="normal">mehr</a>'; ?></div>
$benutzer = " mein_username";
wenn du das leerzeichen auch in deiner orginal fassung hast kann es auch nicht gehen ;D -
deineagentur schrieb:
wenn du das leerzeichen auch in deiner orginal fassung hast kann es auch nicht gehen ;D
Aber da gäbs wiederrum eine Fehlermeldung! -
cookies schrieb:
deineagentur schrieb:
wenn du das leerzeichen auch in deiner orginal fassung hast kann es auch nicht gehen ;D
Aber da gäbs wiederrum eine Fehlermeldung!
Sicher?
Bei mir nicht. Nur wenn die (mysql_error ... ).. -
Bei mir gibts da immer ne Meldung! Hast du da irgendwelche Einstellungen verändert?
-
Ja habe ich weil ich Produktiv arbeite und nicht nur development mäßig.
@homeserver bekomme ich dann schon ne meldung.
Man sollte immer genau achten was man wo wie was schreibt und möglichst immer alles loggen fürs debugging -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage