laucinieks Posted March 16, 2011 Report Share Posted March 16, 2011 (edited) Tātad, esmu izdomājis uztaisīt tādu nelielu spēli - Ir 3 lauki - vārds, Word in British, Word in American. Esmu uztaisījis arī tabulu - vārdi un salicis - id,english,american. Tagad tiku līdz vietai, kur vajag izvilkt visus vārdus random secībā, to it kā esmu uzlicis, ar - $sql = "select * from vardi ORDER BY rand()"; Bet tālāk sākas problēma, kā izvadīt katru reizi vārdu, lai tie neatkārtojas? Pašlaik tā izvadīšana man izskatās šādi - <?php $sql = "select * from vardi ORDER BY rand()"; $data = mysql_query($sql) or die(mysql_error()); while ($row = mysql_fetch_array($data)) { $english = $row['english']; $american = $row['american']; } if (!empty($_POST['sutit'])) { if ($_POST['american'] == $row['american']) { echo 'You entered the right word!'; } else { echo 'You entered the wrong word!'; } } ?> un forma izskatās tā - <form action="" method="post"> Name: <input type="text" name="vārds" /><br /><br /> Word in American English: <input type="text" name="american" /><br /><br /> Word in British English: <input type="text" name="english" value="<?php echo $english; ?>" readonly /><br /><br /> <input type="submit" name="sutit" value="Submit"/><br /> <br /> Viņš izvada randomā vārdus, it kā viss ar to strādā, bet vajag pielikt klāt, lai varētu ievadīt tikai pareizu vai nepareizu american vārdu. Nu, piemēram, izvada vārdu no english - ill, un tu ievadi american - sick. Viņš izmet "Tu esi pareizi uzrakstījis vārdu", bet ja ievada piemēram sic, tad "Tavs ievadītais vārds nav pareizs". Ceru uz palīdzību :), Laucinieks. EDIT: Mēģināju jau kaut ko pats izveidot, bet viņš visulaiku izmetu You entered the wrong word Edited March 16, 2011 by laucinieks Quote Link to comment Share on other sites More sharing options...
sandis_m Posted March 16, 2011 Report Share Posted March 16, 2011 (edited) Varbút uztaisi, lai konkréto row id pie tá 'sick' ievieto jauná tabulá 'have_done' un tálák SQL ar Join'iem Edited March 16, 2011 by who_i_am Quote Link to comment Share on other sites More sharing options...
laucinieks Posted March 16, 2011 Author Report Share Posted March 16, 2011 (edited) Izdarīju pats - <?php $sql = "select * from vardi ORDER BY rand()"; $data = mysql_query($sql) or die(mysql_error()); while ($row = mysql_fetch_array($data)) { $english = $row['english']; $american = $row['american']; } if (!empty($_POST['sutit'])) { if ($_POST['american'] == $_POST['americanans']) { echo 'Congratulations! You entered the right word!'; } else { echo 'Sorry, the word you entered, wasn't right! The right word was '.$_POST['americanans'].'! Better Luck next time!'; } } ?> un forma - <form action="" method="post"> Word in American English: <input type="text" name="american" /><br /><br /> Word in British English: <input type="text" name="english" value="<?php echo $english; ?>" readonly /><br /><br /> <input type="hidden" name="americanans" value="<?php echo $american; ?>" /><br /><br /> <input type="submit" name="sutit" value="Submit"/><br /> <br /> Bet tagad ir problēma tāda, ka ja pirmo vārdu ievada pareizi, nākošajos vārdos viņš vienmēr teiks, ka vārds ir nepareizs, bet ja pārlādē lapu, tad atkal viss iet. Kā panākt, lai nevajadzētu pārlādēt lapu? Edited March 16, 2011 by laucinieks Quote Link to comment Share on other sites More sharing options...
sandis_m Posted March 16, 2011 Report Share Posted March 16, 2011 Paga. Man likás, ka tev vajag, lai vinji neatkártojas, tie jau atbildétie várdi. Nav tev kautkáds page cache or smthn? Quote Link to comment Share on other sites More sharing options...
laucinieks Posted March 16, 2011 Author Report Share Posted March 16, 2011 Paga. Man likás, ka tev vajag, lai vinji neatkártojas, tie jau atbildétie várdi. Nav tev kautkáds page cache or smthn? Ja godīgi, pašlaik nevajag to atkārtošanu, jo to vēlāk arī var uzlikt. Tagad gribās tādu kā testu palaist un paskatīties :). P.S. kas ir page cache? Quote Link to comment Share on other sites More sharing options...
laucinieks Posted March 16, 2011 Author Report Share Posted March 16, 2011 Jocīgi, vienalga vai es ievadu pareizu vai nepareizu man izmet, ka ir nepareizs. Tad, kad es provēju pirmās divas reizes tad izmeta pareizu, pēc tam pie trešās reizes sāka mest, ka nepareizs, tad pārlādēju lapu, vienu reizi bija pareizs, un atkal tad nepareizs metās un tagad visu laiku met, ka ierakstītais vārds ir nepareizs. Kods - http://paste.php.lv/90efd21f276f9e0444bf0c4b3c4ee075?lang=php Quote Link to comment Share on other sites More sharing options...
sandis_m Posted March 16, 2011 Report Share Posted March 16, 2011 Nu nez. Es no mob. wapa te sézhu, grúti kaut ko saprast. Uztaisi varbút péc tás izvades ir pareizs vai nav: header("Location: tavalapa.php"); Quote Link to comment Share on other sites More sharing options...
sandis_m Posted March 16, 2011 Report Share Posted March 16, 2011 Kaut gan, né, sáku domát, ka galígi garám. Quote Link to comment Share on other sites More sharing options...
m8t Posted March 16, 2011 Report Share Posted March 16, 2011 (edited) <?php echo "wasn't"; //right echo 'wasn\'t'; //right echo 'wasn't'; //wrong ps.- kāpēc skripta sākumā, kad velc laukā kaut ko no DB, tu veido ciklu? Tev taču vaig tikai vienu vērtību, ne? <?php $row = mysql_fetch_array($data); $english = $row['english']; $american = $row['american']; vēl vari izmantot mysql_fetch_row(); funkciju pašreizējās vietā. Edited March 16, 2011 by m8t Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.