dc_jt Posted May 31, 2007 Share Posted May 31, 2007 *****Just realised I have rambled on a bit below, I basically just want the drop down to display the -- for day, month and year when there is already a date set. It works when there isnt a date set but when there is, it only displays the numbers!! ***** Hi I have got the following drop down called End Date. When someone adds an offer I want the end date to be set to -- -- ---- (which it does perfectly). With the other days, months and years available to be selected. When someone comes to edit an offer, I want the end date to show the date that has been set for this offer previously. Therefore, if an offer ends on 31/05/2007 the drop down is set to 31-05-2007 (which this also does perfectly) HOWEVER the slashes (-- -- ----) for day, month and year do not appear, only the days (1-31), months (1-12) and years (2006-2009). How can I get this to show the slashes when I edit the offer as well as the set date??? Please someone help, it has took me a long time getting here (and a long time writing this also) Here is the code for when you are editing an offer which already has an end date set : Day <? if ($_GET['iOfferId'] && formatDate($oObj->end_date) != '00/00/0000') { for ($i=1;$i<=31;$i++) {?><? echo "<option value=\"$i\""; if ($i == $EndaDay) echo " selected"; echo ">".printf(">%02d</option>",$i); } Month <? if ($_GET['iOfferId'] && formatDate($oObj->end_date) != '00/00/0000') { for ($i=1;$i<=12;$i++) {?><? echo "<option value=\"$i\""; if ($i == $EndaMonth) echo " selected"; echo ">".printf(">%02d</option>",$i); } } Year <?php if ($_GET['iOfferId'] && formatDate($oObj->end_date) != '00/00/0000') { for ($i=date('Y')-1;$i<=date('Y')+2;$i++) { echo "<option value=\"$i\""; if ($i == $EndaYear) echo " selected"; echo ">".printf(">%02d</option>",$i); } } The above means there is a date already set (formatDate($oObj->end_date) != '00/00/0000') The rest of my code is: This is to get the date if there is already one set in database /***** End Date *****/ $Enddate = str_replace(" ","/",formatDate($oObj->end_date)); $EndaDate = explode("/",$Enddate); $EndaYear = (int)$EndaDate[2]; $EndaMonth =(int)$EndaDate[1]; $EndaDay = (int)$EndaDate[0]; /************************/ This is the whole loop: <strong>End Date</strong></td> <td><select name="Endsdated" class="fmgreynormal"> <? if ($_GET['iOfferId'] && formatDate($oObj->end_date) != '00/00/0000') { for ($i=1;$i<=31;$i++) {?><? echo "<option value=\"$i\""; if ($i == $EndaDay) echo " selected"; echo ">".printf(">%02d</option>",$i); } } else { for ($i=1;$i<=31;$i++) { echo "<option value=\"$i\">$i</option>"; } echo "<option value=\"--\" selected>--</option>"; } ?> </select> <select name="Endsdatem" class="fmgreynormal"> <? if ($_GET['iOfferId'] && formatDate($oObj->end_date) != '00/00/0000') { for ($i=1;$i<=12;$i++) {?><? echo "<option value=\"$i\""; if ($i == $EndaMonth) echo " selected"; echo ">".printf(">%02d</option>",$i); } } else { for ($i=1;$i<=12;$i++) { echo "<option value=\"$i\">$i</option>"; } echo "<option value=\"--\" selected>--</option>"; } ?> </select> <select name="Endsdatey" class="fmgreynormal"> <?php if ($_GET['iOfferId'] && formatDate($oObj->end_date) != '00/00/0000') { for ($i=date('Y')-1;$i<=date('Y')+2;$i++) { echo "<option value=\"$i\""; if ($i == $EndaYear) echo " selected"; echo ">".printf(">%02d</option>",$i); } } else { for ($i=date('Y')-1;$i<=date('Y')+2;$i++) { echo "<option value=\"$i\">$i</option>"; } echo "<option value=\"--\" selected>--</option>"; } ?> </select> Link to comment https://forums.phpfreaks.com/topic/53737-solved-adding-no-date-in-drop-down/ Share on other sites More sharing options...
dc_jt Posted May 31, 2007 Author Share Posted May 31, 2007 Its ok, Ive done it! Just basically added <option value="00">--</option> for day, month and year Link to comment https://forums.phpfreaks.com/topic/53737-solved-adding-no-date-in-drop-down/#findComment-265569 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.