Lasse Jensen wrote:
> Håber der er nogen som kan hjælpe mig med at finde ud af hvorfor :)
Du konstruerer dine sandheds-check forkert.
Hvis fx du udtrækker dato = 1 fra din database:
<option <? if ($dato == "1") {echo "SELECTED";} else if (date("j") ==
"1" && !$heading_error && !$description_error) {echo "SELECTED";}
?>>1</option>
<option <? if ($dato == "2") {echo "SELECTED";} else if (date("j") ==
"2" && !$heading_error && !$description_error) {echo "SELECTED";}
?>>2</option>
[..]
<option <? if ($dato == "17") {echo "SELECTED";} else if (date("j") ==
"17" && !$heading_error && !$description_error) {echo "SELECTED";}
?>>17</option>
Kig på sandhedsværdierne - og outputtet af din html - faktisk vil du
have to gange SELECTED og derfor vil det ikke fungere efter hensigten;
fordi du checker udtrykkene isoleret pr. linie - og derfor vil du
risikere at der er to af linierne der kommer ud som sande og skriver
"SELECTED".
Du er altså nød til at vælge om du vil checke på $dato eller dags dato -
dette kunne fx gøres ved inden du indtræder i din <select> rutine - at
bestemme indholdet $dato - enten indeholder $dato en udtrukket værdi fra
din database eller dags dato.
Således vil du bagefter kunne checke således:
<option <? if ($dato == "1" && !$heading_error && !$description_error )
{echo "SELECTED";} ?>>1</option>
<option <? if ($dato == "2" && !$heading_error && !$description_error )
{echo "SELECTED";} ?>>2</option>
[..]
<option <? if ($dato == "17" && !$heading_error && !$description_error )
{echo "SELECTED";} ?>>17</option>
--
Med venlig hilsen
Geert Lund,
www.GLD.dk