Jump to content
php.lv forumi

British - American English spēle


laucinieks

Recommended Posts

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 by laucinieks
Link to comment
Share on other sites

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 by laucinieks
Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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

Link to comment
Share on other sites

<?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 by m8t
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...