Avatar billede loumann Praktikant
12. december 2012 - 20:56 Der er 2 kommentarer og
1 løsning

php script - uden echo i random order

Jeg har et php quizzscipt, hvor quiz-brugeren skal skrive det rigtige svar i et tomt tekstfelt.
det fungerer udmærket, men problemet er at spørgsmålene komer i vilkårlig rækrefølge: $rand_keys = array_rand($links, $n);

Jeg ønsker at fjerne random-funktionen, så spørgsmålene kommer i fast og ens rækkefølge, hver gang man opdaterer siden.
Kan nogen hjælpe med at ændre koden? Den kommer her:
<form action="dominicanita_result.php" method="post">
<?php
 
if (isset($_POST['cmdSubmit'])) {

}
$n = 3; // this is the declaration of the total item on your quiz and array is used as a storage of               //the question in order to display it in random
$links=array(
'La última vez que yo &nbsp;
<input type="text" size="8" id="answer1" name="answer1" > &nbsp; en mi país
                <br>',             
               
                'Felipe Juan y Victoria son los &nbsp;
                <input type="text" size="8" id="answer2" name="answer2" >&nbsp; de Leonor y Sofía.',
               
                'Juan Carlos es el &nbsp;
                <input type="text" size="8" id="answer3" name="answer3" >&nbsp; de Victoria.
            ', );
           
// displaying the array in random until $n number is satisfied.
$rand_keys = array_rand($links, $n);
echo "<center>". "<table><tr><td>";
echo("<font size=\"2\" face=\"Verdana\">");
echo "1.&nbsp;&nbsp;". $links[$rand_keys[0]] . "<br>"; 
echo "</td></tr><tr><td>";
echo("<font size=\"2\" face=\"Verdana\">");
echo "2.&nbsp;&nbsp;".$links[$rand_keys[1]] . "<br>";
echo "</td></tr><tr><td>";
echo("<font size=\"2\" face=\"Verdana\">");
echo "3.&nbsp;&nbsp;". $links[$rand_keys[2]] . "<br>";
echo "</td></tr><tr><td>";
echo("<font size=\"2\" face=\"Verdana\">");
Avatar billede nicklasw Nybegynder
13. december 2012 - 13:58 #1
Det er godt nok ikke den smukkeste kode men håber du forstår idéen ;) :

<form action="dominicanita_result.php" method="post">
<?php
 
if (isset($_POST['cmdSubmit'])) {

}
if(isset($_POST['current']))
    $current = $_POST["current"]+1;
else
    $current = 0;

echo '<input type="hidden" value="'.$current.'" name="current" />';
$n = 3; // this is the declaration of the total item on your quiz and array is used as a storage of              //the question in order to display it in random
$links=array(
'La última vez que yo &nbsp;
<input type="text" size="8" id="answer1" name="answer1" > &nbsp; en mi país
                <br>',             
               
                'Felipe Juan y Victoria son los &nbsp;
                <input type="text" size="8" id="answer2" name="answer2" >&nbsp; de Leonor y Sofía.',
               
                'Juan Carlos es el &nbsp;
                <input type="text" size="8" id="answer3" name="answer3" >&nbsp; de Victoria.
            ', );           
           
// displaying the array in random until $n number is satisfied.
echo "<center>". "<table><tr><td>";
echo("<font size=\"2\" face=\"Verdana\">");
echo "1.&nbsp;&nbsp;". $links[$current] . "<br>"; 
echo "</td></tr><tr><td>";
echo("<font size=\"2\" face=\"Verdana\">");
echo "2.&nbsp;&nbsp;".$links[$current] . "<br>";
echo "</td></tr><tr><td>";
echo("<font size=\"2\" face=\"Verdana\">");
echo "3.&nbsp;&nbsp;". $links[$current] . "<br>";
echo "</td></tr><tr><td>";
echo("<font size=\"2\" face=\"Verdana\">");
Avatar billede loumann Praktikant
14. december 2012 - 20:13 #2
Tak for hurtigt svar, Niclas. Det ser ud til at virke :-)
Avatar billede nicklasw Nybegynder
14. december 2012 - 21:45 #3
det var så lidt.
så lægger jeg et svar ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester