Vokabeltrainer?

Wambo

Mitglied
Abfrage Funktion mit Random bei Vokabeltrainer

Hallo,
ich möchte einen vokabel trainer mit php und mysql programmieren.
ich habe soweit alles geschafft nur wie mach ich das mit der abfrage?

PHP:
mt_srand((double)microtime()*1000000);
$zufall=mt_rand('0', count($id));
echo $zufall;

dann gibt er aber nur die "id" wieder wie mache ich jetzt das er die vokabel abfragt?
 
Zuletzt bearbeitet:
Wo legst Du denn deine Vokabeln ab? Falls in ner MySQL-DB kannst Du es so versuchen:
SQL:
SELECT vokabel
FROM vokabeltabelle
WHERE id = '$zufall'
 
Hmmm das würde so nicht gehen, da beim löschen die abgefragte id evt. nicht mehr vorhanden ist. Das könnte man allerdings auch abfangen. Probier es mal so
PHP:
function zufallsVokabel($db){
while($row = mysql_fetch_assoc(mysql_query("SELECT * FROM $db"))){
       $array[] = $row['vokabel'];
       }
       $anzahl = count($array);
       mt_srand((double)microtime()*1000000); 
       $zufall=mt_rand(0, $anzahl); 
       return $array[$zufall];
}

alternative dazu könntest auch folgendes versuchen:

PHP:
function zufallsVokabe($db){
$anzahl = mysql_num_rows(mysql_query("SELECT * FROM $db"));
mt_srand((double)microtime()*1000000); 
$zufall=mt_rand(0, $anzahl); 
if(mysql_num_rows(mysql_query("SELECT * FROM $db WHERE `id` ='$zufall'")) != 0){
   $row = mysql_fetch_assoc(mysql_query("SELECT * FROM $db WHERE `id` ='$zufall'"));
   return $row['vokabel'];
  }else{
   return zufallsVokabel($db);
  }
}

Habe beide Funktionen jetzt nicht getestet und bin mir auch sicher, dass das eleganter geht.
Sollte aber beides Funktionieren.
Ich persönlich würde die erste Funktion benutzen.

Lg.
Garlof
 
Zuletzt bearbeitet:
Gut, da hast Du wohl recht. Ich bin jetzt davon ausgegangen, dass die Datensätze fortlaufen nummeriert werden. Man könnte aber auch prüfen, ob es einen Datensatz mit entspr. ID gibt und, falls nicht, diese neu generieren.
 
Moritz123 hat gesagt.:
Gut, da hast Du wohl recht. Ich bin jetzt davon ausgegangen, dass die Datensätze fortlaufen nummeriert werden. Man könnte aber auch prüfen, ob es einen Datensatz mit entspr. ID gibt und, falls nicht, diese neu generieren.

wie kann man die denn neu generieren wie heißt der code?
und fehlt bei diesen 2 funktionen also bei der ersten nich nen echo weil der gibt ja nix aus
 
Zuletzt bearbeitet:
Hallo,

wieso eine ID neu generieren? Lücken in der Reihe der IDs sind doch in der Regel kein Problem. Eine zufällige Zeile auswählen kann man auch mit MySQL allein (siehe [post=1299594]Beitrag #6[/post]).

Und Wambo, ich möchte dich nochmals darum bitten, dich an die Netiquette zu halten (vor allem Punkt 15).

Grüße,
Matthias
 
Matthias Reitinger hat gesagt.:
Und Wambo, ich möchte dich nochmals darum bitten, dich an die Netiquette zu halten (vor allem Punkt 15).

Grüße,
Matthias

Oh, Entschuldigung tut mir leid. Aber warum muss man denn so schreiben wenn jeder einen versteht ist das doch OK oder nicht?
Aber wie ist jetzt der gesamte Code
 
Hallo,

Wambo hat gesagt.:
Oh, Entschuldigung tut mir leid. Aber warum muss man denn so schreiben wenn jeder einen versteht ist das doch OK oder nicht?
Mit korrekter Groß-/Kleinschreibung und halbwegs vernünftiger Rechtschreibung verfasste Beiträge – und da werden mir die meisten hier wohl zustimmen – lassen sich um einiges einfacher erfassen. Vor allem, wenn es darum geht, komplexere Sachverhalte darzulegen, macht man dadurch seinen Mitmenschen das Leben um einiges leichter.

Aber wie ist jetzt der gesamte Code
Solchen Fragen sind hier allerdings auch nicht gern gesehen ;) Verrat uns doch, wo genau dein Problem jetzt liegt. Hast du es mit der Abfrage in [post=1299594]Beitrag #6[/post] schon ausprobiert?

Grüße,
Matthias
 
Zurück