random + auslesen

  • Themenstarter Themenstarter elgo
  • Beginndatum Beginndatum
E

elgo

hallo, ich habe mit phpmyadmin eine tabelle in meine mysql datenbank erstellt. sie hat folgende felder: id, content1, content2.

nun möchte ich aus content1 einen zufalls wert auslesen, also irgend einen wert den ich vorher in die tabelle eingetragen habe. wie geht das?

nachdem ich den wert ausgelesen habe, soll man per formular den dazugehörigen wert aus content2 eingeben .. danach wird er auf seine richtigkeit überprüft. wie geht das?


vielen dank im voraus .. elgo
 
Als erstes machst du erstmal, mit der ersten ID und der letzen ID als Grenzwert, eine Zufallszahl...

PHP:
//Daten aus der Tabelle auslesen///$result als Rückgabe//////
$dbconnect = mysql_connect($sqlhost,$sqluser,$sqlpass);
if (!$dbconnect){die("Datenbankverbindung fehlgeschlagen");}
else {mysql_select_db($sqldb);}

$query="SELECT * FROM tabelle";
$result=mysql_query($query,$dbconnect);
/////////////////////////////////////////////////////////////

$idfirst="1"; //erste ID
$idlast=mysql_num_rows($result); //Letzte ID

$id = rand($idfirst,$idlast); //Zufallszahl festlegen

$query="SELECT * FROM tabelle WHERE id='$id' LIMIT 1"; //Daten aus DB holen
$getcontent=mysql_query($query,$dbconnect); //Daten aus DB holen

?>

nun hast du erstmal das zufällige Auslesen...

das Formular ist ja dann nicht mehr so die Hürde, oder?

Ach so: Der Code ist bestimmt quick and dirty, don´t blame me ;)
 
danke schön .. hat wunderbar geklappt.

bei dem formular hab ich ein kleines problem mit der variablen übergabe.

also, ich lese datei1.php content1 und content2 aus. content1 wird neben dem formular ausgegeben. jetzt tippe ich etwas ins formular und klicke auf submit. in check.php habe ich zwar jetzt $formulareingabe aber nicht mehr content2.

ich habs auch schon so versucht:

<form action="check.php?content2" method="post"> funzt aber nicht.

ich finde das so ziemlich umständlich .. kennt jemand noch einen leichtern weg? am besten wäre ein "liveüberprüfung" sobald content1 == content2 gibt er beispielsweise ein bild (hacken) oder richtig aus ..

hoffe auf hilfe und verständnis //me = phpanfänger
 
ok .. der code:

PHP:
<?php
include("dbconnect.php");
$abfrage = "SELECT * FROM tabelle";
$ergebnis = mysql_query($abfrage);

$idfirst = "1";
$idlast = mysql_num_rows($ergebnis);
$id = rand($idfirst,$idlast);

$abfrage = "SELECT * FROM tabelle WHERE id='$id' LIMIT 1";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis)) {
    $content1 = $row->content1;
    $content2 = $row->content2;

    echo "$content1";
    echo "<form name=\"form\" method=\"post\" action=\"check.php\"><input type=\"text\" name=\"eingabe\"></form>";
}

bis jetzt klappt alles ..
für check.php brauch ich $content2 und $eingabe .. mit dem formularfeld kann ich ja nur eine variable verschicken, aber wenn ich das so mache:
echo "<a href=\"check.php?content2=$row->content2&eingabe\">check</a>
klappt das nicht ..

gibt es denn nicht die möglichkeit eine if($content2 == $eingabe) funktion zu starten sobald etwas in das textfeld geschrieben wird?
also in der selben .php datei?

mfg elgo
 
Das liegt wahrscheinlich an deinem webserver zu hause geht das nie :-)
<input type='hidden' name='content2' value='$content2'>
auf frage (wgn selber seite) php ist ein server-site-script das sagt eigentlich alles alles oda ... mit anderen worten wenn du das die direkt machen willst übergib doch die variablen per php an ein java-script und lass das per js checken ... nur meine meinung 100% ales falsch was ich bezüglich php gesagt hab aba probiern kannstes ja mal ...
 
ja so würde es gehn .. wär aber ziemlich dirty. gibts noch ne andere lösung?

hab mir schon gedacht das esnur mit js geht .. jetzt müsste ich nur noch js können.
 
Zurück