How To Create A Loop For This Dropdown Menu? November 26, 2023 Post a Comment And, would a loop be more efficient then listing them out one by one? Solution 1: If it's not more efficient, it's certainly more readable and reusable, which is far more important.<selectname="birthdayYear" ><optionvalue="0000">Year:</option><?phpfor(var$x = year(); $x >= 1900; $x--) { var$selected = ""; if($x == $birthdayYear) { $selected = " selected = 'selected'"; } echo("<option value="$x"$selected>$x</option>"); } ?></select>CopyIn short, my hair is a bird.Solution 2: Basically, you will :Deal with the 0000 specific line yourself, and then, have a for() loop from 2011 to 1900The loop could look a bit like this :for ($year=2011 ; $year>=1900 ; $year--) { echo'<option value="' . $year . '"'; if ($year == $birthdayYear) { echo'selected="selected"'; } echo'>' . $year . '</option>' . PHP_EOL; } Copy Of course, the 2011 year should probably not be hard-coded -- take a look at date() for a possible way of getting the current year.Solution 3: <selectname="birthdayYear" ><optionvalue="0000"<?phpecho$birthdayYear == '0000' ? 'selected="selected"' : ''; ?>>Year:</option><?phpfor($i=date('Y'); $i>1899; $i--) { $selected = ''; if ($birthdayYear == $i) $selected = ' selected="selected"'; print('<option value="'.$i.'"'.$selected.'>'.$i.'</option>'."\n"); } ?></select>CopyAnd, would a loop be more efficient then listing them out one by one?I don't think you have to worry about efficiency. Using a loop just looks cleaner it will be easier to maintain I think.Solution 4: for ($x=(int)date("Y"); $x>=1900; $x=$x--) { echo "<option value=\"", $x, "\"", ($birthdayYear==$x) ?" selected=\"selected\"" : "", ">", $x, "</option>" } CopyThis has the added bonus that you don't have to update it every year.Solution 5: Try this:<selectname="birthdayYear" ><?phpif($year == '0000') { echo'<option value="0000" selected="selected">0000</option>'; } else { echo'<option value="0000">0000</option>'; } for($year = intval(date('Y')); $year > 1900; $year --) { if($year == $birthdayYear) { echo'<option value="'.$year.'" selected="selected">'.$year.'</option>'; } else { echo'<option value="'.$year.'">'.$year.'</option>'; } } ?></select>Copy Share Post a Comment for "How To Create A Loop For This Dropdown Menu?"
Post a Comment for "How To Create A Loop For This Dropdown Menu?"