08. august 2008 - 20:52
Der er
23 kommentarer og 1 løsning
Sætte tal op i forskellig rækkefølge
Hej Hvis jeg har tre tal: $forkert1 $forkert2 $resultat Disse vil jeg gerne have outputtet, så de bliver stillet op i forskellige rækkefølger hver gang (man skal svare på et regnestykke), sådan at det jo ikke altid er resultatet der står i midten f.eks. Hvordan kan jeg gøre sådan, helst i php? //cot
Annonceindlæg tema
08. august 2008 - 21:17
#1
$data = array('input1','input2','input3'); shuffle($data); foreach($data AS $input){ echo $input . '<br />'; }
08. august 2008 - 21:21
#2
kan man gøre det med javascrip, sorry men, det ville være rart lige at se de to forskellige ting, hvad der vil passe bedst ind i min løsning :)
08. august 2008 - 21:40
#3
08. august 2008 - 22:01
#4
Det virker ikk for mig, da det er javascript, der er inde i variablen :(
08. august 2008 - 22:32
#5
Så brug php metoden.
09. august 2008 - 08:04
#6
Men hvis jeg bare skriver det ind der ved input1,2,3 så kan den ikke finde ud af det, da javascriptet indeholder '' og så bliver det jo stoppet der :S
09. august 2008 - 10:13
#7
Så smid " omkring " Du kan jo lave: $data = array('he\'s'); eller $data = array("he's");
09. august 2008 - 10:41
#8
Okay, det med he\s der forstod jeg ikke lige... Det er det her kode jeg skal have som input: <a href="#" onclick="java script: document.getElementById('textfield3').value = '<?php echo $resultat; ?>';"><img border="0" onclick="java script: this.border='2px'; java script: this.borderColor='#000000';" ALT="<?php echo $resultat; ?>" /></a> Hvordan kan jeg få det ind?
09. august 2008 - 10:47
#9
Du kan prøve (utestet): function addslashesARRAY($value) { $value = is_array($value) ? array_map('addslashesARRAY', $value) : addslashes($value); return $value; } $array = array('input1','input2','input3'); $data = addslashesARRAY($array); shuffle($data); foreach($data AS $input){ echo $input . '<br />'; }
09. august 2008 - 11:03
#10
måske kan function addslashesARRAY($value) { $value = is_array($value) ? array_map('addslashesARRAY', $value) : addslashes($value); return $value; } $array = array('input1','input2','input3'); $data = addslashesARRAY($array); erstattes af $data = array_map( "addslashes", $array );
09. august 2008 - 11:52
#11
Men jeg forstår stadigvæk ikke helt... Skal jeg bare bytte input1 ud med: <a href="#" onclick="java script: document.getElementById('textfield3').value = '<?php echo $resultat; ?>';"><img border="0" onclick="java script: this.border='2px'; java script: this.borderColor='#000000';" ALT="<?php echo $resultat; ?>" /></a> Og så virker det?
09. august 2008 - 18:46
#12
Prøv at vis de info du gerne vil have puttet ind og udskrevet random. Så giver vi dig et færdigt resultat. Det virker som om vi går i ring.
09. august 2008 - 20:58
#13
Min kode er her: <?php $act = $_GET['act']; if ($act == 'sv') { // 1-start $nummer1 = $_POST['nummer1']; $nummer2 = $_POST['nummer2']; $forkert1 = $_POST['forkert1']; $forkert2 = $_POST['forkert2']; $svar = $_POST['svar']; $resultat = $_POST['resultat']; if ($svar==$resultat){ // 2-start echo "Rigtigt!"; }// 2-slut if ($svar!=$resultat){ // 3-start echo "Forkert!"; }// 3-slut } // 1-slut else { //4-start $nummer1 = rand(1,9);//Først nummer der skal lægges samme med nummer 2 $nummer2 = rand(3,9);//Andet nummer der skal lægges samme med nummer 1 $resultat = ($nummer1 + $nummer2); //Resultatet af de to numre lagt sammen $forkert1 = rand(4,18); $forkert2 = rand(4,18); echo"".$nummer1." + ".$nummer2." = <br/>"; ?> <a href="#" onclick="java script: document.getElementById('textfield3').value = '<?php echo $resultat; ?>';"><img border="0" onclick="java script: this.border='2px'; java script: this.borderColor='#000000';" ALT="<?php echo $resultat; ?>" /></a> <input type="image" onclick="java script: document.getElementById('textfield3').value = '<?php echo $forkert1; ?>';" ALT="<?php echo $forkert1; ?>"/> <input type="image" onclick="java script: document.getElementById('textfield3').value = '<?php echo $forkert1; ?>';" ALT="<?php echo $forkert2; ?>"/> <?php echo'<form method="post" action="stykke.php?act=sv"> <input type="hidden" value="'.$nummer1.'" name="nummer1" id="textfield1" /> <input type="hidden" value="'.$nummer2.'" name="nummer2" id="textfield2" /> <input type="hidden" value="'.$forkert1.'" name="nummer1" id="textfield5" /> <input type="hidden" value="'.$forkert2.'" name="nummer2" id="textfield6" /> <input type="hidden" value="" name="svar" id="textfield3" /> <input type="hidden" value="'.$resultat.'" name="resultat" id="textfield4" /> <INPUT TYPE="image" SRC="pil.gif" BORDER="0" ALT="Svar"> </form>'; } //4-slut ?> Er lidt dum i dag, så fatter ikke lige hvad i snakker om :$ heh
09. august 2008 - 20:59
#14
Btw. det er det her, der skal laves som random: ... <a href="#" onclick="java script: document.getElementById('textfield3').value = '<?php echo $resultat; ?>';"><img border="0" onclick="java script: this.border='2px'; java script: this.borderColor='#000000';" ALT="<?php echo $resultat; ?>" /></a> <input type="image" onclick="java script: document.getElementById('textfield3').value = '<?php echo $forkert1; ?>';" ALT="<?php echo $forkert1; ?>"/> <input type="image" onclick="java script: document.getElementById('textfield3').value = '<?php echo $forkert1; ?>';" ALT="<?php echo $forkert2; ?>"/> ...
09. august 2008 - 21:47
#15
Du bør kunne bruge: $input1 = '<a href="#" onclick="java script: document.getElementById(\'textfield3\').value = \''.$resultat.'\';"><img border="0" onclick="java script: this.border=\'2px\'; java script: this.borderColor=\'#000000\';" ALT="'.$resultat.'" /></a>'; $input2 = '<input type="image" onclick="java script: document.getElementById(\'textfield3\').value = \''.$forkert1.'\';" ALT="'.$forkert1.'" />'; $input3 = '<input type="image" onclick="java script: document.getElementById(\'textfield3\').value = \''.$forkert2.'\';" ALT="'.$forkert2.'" />'; $data = array($input1,$input2,$input3); shuffle($data); foreach($data AS $input){ echo $input . '<br />'; }
09. august 2008 - 21:55
#16
ok, takker, jeg tester det lige :)
09. august 2008 - 22:00
#17
desværre: Kode: ... $input1 = '<a href="#" onclick="java script: document.getElementById(\'textfield3\').value = \''.$resultat.'\';"><img border="0" onclick="java script: this.border=\'2px\'; java script: this.borderColor=\'#000000\';" ALT="'.$resultat.'" /></a>'; $input2 = '<a href="#" onclick="java script: document.getElementById(\'textfield3\').value = \''.$forkerk1.'\';"><img border="0" onclick="java script: this.border=\'2px\'; java script: this.borderColor=\'#000000\';" ALT="'.$forkert1.'" /></a>'; $input3 = '<a href="#" onclick="java script: document.getElementById(\'textfield3\').value = \''.$forkerk2.'\';"><img border="0" onclick="java script: this.border=\'2px\'; java script: this.borderColor=\'#000000\';" ALT="'.$forkert2.'" /></a>'; $data = array($input1,$input2,$input3); shuffle($data); foreach($data AS $input){ echo $input . ' '; } ... Output: $input1 = ''.$resultat.''; $input2 = ''.$forkert1.''; $input3 = ''.$forkert2.'';
09. august 2008 - 22:03
#18
Omg, jeg ser nu fejlen, jeg har vidst over hovedet ikke øjnene med mig :S Jeg var komme til at sætte et: ?> Så det slet ikke var en del af koden! :S sry
09. august 2008 - 22:12
#19
smid et svar :)
09. august 2008 - 22:17
#20
<ole> Det giver ikke rigtig mening at bruge JavaScript pseudoprotokollen i en event handler, så du bør nok slette alle dine 'java script:' =) $input3 = '<a href="#" onclick="document.getElementById(\'textfield3\').value = \''.$forkerk2.'\';"><img border="0" onclick="this.border=\'2px\'; this.borderColor=\'#000000\';" /mvh </bole>
09. august 2008 - 22:23
#21
hehe ok, takker :)
09. august 2008 - 22:24
#22
Svar!
09. august 2008 - 22:25
#23
Takker for hjælpen! :)
09. august 2008 - 22:26
#24
Takker for point.
Vi tilbyder markedets bedste kurser inden for webudvikling