07. april 2005 - 21:53
Der er
10 kommentarer og 1 løsning
for løkke giver fejl
Jeg er ved to simple inputs. <table> <tr> <td> <select name="dato_maaned"> <?php $maaneder = 12; for ($i = 0; $i < $maaneder; $i++){ $maaned = $i + 1; echo "<option value='$i'>"; echo Monthname($i); echo "</option>"; } ?> </select> </td> <td> <select name="dato_dag"> <?php $dage = 31; for ($i = 1; $i <= $dage; $i++){ echo "<option value='$i'>"; echo $i; echo "</option>"; } ?> </select> </td> </tr> </table> Problemet er, at efter dette her, stopper siden med at loade hvad der er efter. Hvis jeg erstatter anden for løkke, med <option value='1'>test</option> er det intet problem, så loades resten af siden også. Hvad kan der være galt?
Annonceindlæg fra Barco
07. april 2005 - 21:55
#1
Jeg vil skyde på du har en fejl i din monthname-funktion. For jeg kan da ikke se nogen fejl hvis jeg bytter monthname($i) ud med bare $i.
07. april 2005 - 21:59
#2
Netop det første jeg tænkte, men det er ikke der fejlen sker. Det er i anden for løkke, under <select name="dato_dag">. Hvis jeg erstatter den løkke med <option value="test">test</option>, så kører det hele fint.
07. april 2005 - 22:09
#3
Der er ingen fejl i ovenstående, hvis din Monthname() fungerer.
07. april 2005 - 22:09
#4
Lidt underligt. Nu har jeg sat præcis den løkke, ind i en function, og så kaldt funktionen i stedet, og så virker det. Lukker
07. april 2005 - 22:18
#5
Hmm.. Nu sker det igen. Det er åbenbart hvis jeg udskriver flere for på samme side, det virker altså underligt.
08. april 2005 - 00:32
#6
Det er din Monthname der er noget galt med: Hvis du gør det på denne måde er der ingen problemer... <table> <tr> <td> <select name="dato_maaned"> <?php $Monthname = array("Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December"); $maaneder = 12; for ($i = 0; $i < $maaneder; $i++){ $maaned = $i + 1; echo "<option value='$i'>"; echo $Monthname[$i]; echo "</option>"; } ?> </select> </td> <td> <select name="dato_dag"> <?php $dage = 31; for ($i = 1; $i <= $dage; $i++){ echo "<option value='$i'>"; echo $i; echo "</option>"; } ?> </select> </td> </tr> </table>
08. april 2005 - 07:42
#7
Henrik - function monthname($month){ $Maaned_navn = array( 0 => "Januar", 1 => "Februar", 2 => "Marts", 3 => "April", 4 => "Maj", 5 => "Juni", 6 => "Juli", 7 => "August", 8 => "September", 9 => "Oktober", 10=> "November", 11=> "December" ); return $Maaned_navn[$month]; } Sådan så min monthname() ud. Den smed jeg så i en for løkke, som du har gjort. Det fungerede helt fint. Det var, som tidligere skrevet, i 2. løkke problem er opstået, hvis jeg fjernede den helt, eller skrev noget andet en en for løkke, så gik det som smurt. Nu har jeg smidt alle de løkker, ind i en funktion PickDate(), og det virker. Men undrer mig stadig hvorfor det andet ikke virkede.
08. april 2005 - 08:32
#8
Tror det skyldes at jeg har brugt samme variabler i en løkke. Altså, for ($i=0;$i < $x; $i++){ for ($i=0;$i < $y; $i++){ //kode } }
08. april 2005 - 08:39
#9
ja det tænkte jeg også på, men hvorfor skulle det ikke kunne bruges når det kan hos mig ?? Er register_globals sat til on på din server ??
08. april 2005 - 08:54
#10
Ganske rigtigt.
08. april 2005 - 09:04
#11
Ja det forklarer jo en del.... men hvis du så havde startet din næste løkke med $i = 0; ville der heller ik have været problemer.
Vi tilbyder markedets bedste kurser inden for webudvikling