Some help needed with date dropdowns

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
fluvius
Forum Newbie
Posts: 2
Joined: Wed Mar 04, 2009 11:35 am

Some help needed with date dropdowns

Post by fluvius »

Hi,

I'm a complete newby where PHP coding is concerned, and have just had to look at some code produced way back in 2002 by someone else.

The code in question is given below and is used to produce date dropdown lists on the page. Comments are included in the code.

The comment at the start specifies PHP4 ONLY!! but the current host uses PHP5.

My question is this: Will this affect the functions performance (I'm guessing yes - why else put the comment in) and if so would it be best to
ask the host to install PHP4 instead or in some way update the function to use PHP5?

All help and advice gratefully received.
Tony.

Code: Select all

function generate_datedropdown($fn)
    {
        // PHP4 ONLY !!
        $d = getdate();
        if (func_num_args() == 2) 
        {   
            if (func_get_arg (1) <> "0000-00-00")
            {
                $d = getdate(strtotime(func_get_arg (1)));
            }
            else
            {
                $d = "";
                $d['mday'] = "0";
                $d['mon'] = "0";
                $d['year'] = "0";
            }
        }
        // Generates a date drop down ... if a date was passed in then it becomes the default else the currect date is used.
        
        // Day
        ?><select name="<?=$fn?>_day">
            <option value="0"<? if ($d['mday'] == "0") echo " selected";?>>-</option>
            <option value="1"<? if ($d['mday'] == "1") echo " selected";?>>1st</option>
            <option value="2"<? if ($d['mday'] == "2") echo " selected";?>>2nd</option>
            <option value="3"<? if ($d['mday'] == "3") echo " selected";?>>3rd</option>
            <option value="4"<? if ($d['mday'] == "4") echo " selected";?>>4th</option>
            <option value="5"<? if ($d['mday'] == "5") echo " selected";?>>5th</option>
            <option value="6"<? if ($d['mday'] == "6") echo " selected";?>>6th</option>
            <option value="7"<? if ($d['mday'] == "7") echo " selected";?>>7th</option>
            <option value="8"<? if ($d['mday'] == "8") echo " selected";?>>8th</option>
            <option value="9"<? if ($d['mday'] == "9") echo " selected";?>>9th</option>
            <option value="10"<? if ($d['mday'] == "10") echo " selected";?>>10th</option>
            <option value="11"<? if ($d['mday'] == "11") echo " selected";?>>11th</option>
            <option value="12"<? if ($d['mday'] == "12") echo " selected";?>>12th</option>
            <option value="13"<? if ($d['mday'] == "13") echo " selected";?>>13th</option>
            <option value="14"<? if ($d['mday'] == "14") echo " selected";?>>14th</option>
            <option value="15"<? if ($d['mday'] == "15") echo " selected";?>>15th</option>
            <option value="16"<? if ($d['mday'] == "16") echo " selected";?>>16th</option>
            <option value="17"<? if ($d['mday'] == "17") echo " selected";?>>17th</option>
            <option value="18"<? if ($d['mday'] == "18") echo " selected";?>>18th</option>
            <option value="19"<? if ($d['mday'] == "19") echo " selected";?>>19th</option>
            <option value="20"<? if ($d['mday'] == "20") echo " selected";?>>20th</option>
            <option value="21"<? if ($d['mday'] == "21") echo " selected";?>>21st</option>
            <option value="22"<? if ($d['mday'] == "22") echo " selected";?>>22nd</option>
            <option value="23"<? if ($d['mday'] == "23") echo " selected";?>>23rd</option>
            <option value="24"<? if ($d['mday'] == "24") echo " selected";?>>24th</option>
            <option value="25"<? if ($d['mday'] == "25") echo " selected";?>>25th</option>
            <option value="26"<? if ($d['mday'] == "26") echo " selected";?>>26th</option>
            <option value="27"<? if ($d['mday'] == "27") echo " selected";?>>27th</option>
            <option value="28"<? if ($d['mday'] == "28") echo " selected";?>>28th</option>
            <option value="29"<? if ($d['mday'] == "29") echo " selected";?>>29th</option>
            <option value="30"<? if ($d['mday'] == "30") echo " selected";?>>30th</option>
            <option value="31"<? if ($d['mday'] == "31") echo " selected";?>>31st</option>
           </select><?
           
           // Month
           
           ?><select name="<?=$fn?>_month">
                <option value="0"<? if ($d['mon'] == "0") echo " selected";?>>-</option>
                <option value="JAN"<? if ($d['mon'] == "1") echo " selected";?>>January</option>
                <option value="FEB"<? if ($d['mon'] == "2") echo " selected";?>>February</option>
                <option value="MAR"<? if ($d['mon'] == "3") echo " selected";?>>March</option>
                <option value="APR"<? if ($d['mon'] == "4") echo " selected";?>>April</option>
                <option value="MAY"<? if ($d['mon'] == "5") echo " selected";?>>May</option>
                <option value="JUN"<? if ($d['mon'] == "6") echo " selected";?>>June</option>
                <option value="JUL"<? if ($d['mon'] == "7") echo " selected";?>>July</option>
                <option value="AUG"<? if ($d['mon'] == "8") echo " selected";?>>August</option>
                <option value="SEP"<? if ($d['mon'] == "9") echo " selected";?>>September</option>
                <option value="OCT"<? if ($d['mon'] == "10") echo " selected";?>>October</option>
                <option value="NOV"<? if ($d['mon'] == "11") echo " selected";?>>November</option>
                <option value="DEC"<? if ($d['mon'] == "12") echo " selected";?>>December</option>
              </select><?
           
           // Year
           
           ?><select name="<?=$fn?>_year">
              <option value="0">-</option>
              <? for ($i = 1955; $i < 2020; $i++ ) {?><option value="<?=$i?>"<? if ($d['year'] == $i) echo " selected";?>><?=$i?></option><? } ?>
              </select><?   
    }
    
    function decode_datedropdown($fn)
    {
        global $HTTP_POST_VARS;
        $d = $HTTP_POST_VARS[$fn . "_day"] . "-" . $HTTP_POST_VARS[$fn . "_month"]. "-". $HTTP_POST_VARS[$fn . "_year"];
        if ($d == '0-0-0') 
        {
            return "";
        }
        else
        {
            return strtotime($d);
        }
    }
Reviresco
Forum Contributor
Posts: 172
Joined: Tue Feb 19, 2008 4:18 pm
Location: Milwaukee

Re: Some help needed with date dropdowns

Post by Reviresco »

Without actually going through the code, I would assume that the person wrote "PHP 4 only" to warn about something that didn't exist in PHP 3.

PHP 4 was released in 2000; PHP 5 was released in 2004.

Actually, upon further review, it's probably getdate(), which is PHP 4 and above.
fluvius
Forum Newbie
Posts: 2
Joined: Wed Mar 04, 2009 11:35 am

Re: Some help needed with date dropdowns

Post by fluvius »

Thanks very much for your help Reviresco.

I've checked further with the host and they are using PHP4, so it must be something else that's stopping the site functioning correctly.
Oh well, back to the drawing board!

Tony.
Reviresco wrote:Without actually going through the code, I would assume that the person wrote "PHP 4 only" to warn about something that didn't exist in PHP 3.

PHP 4 was released in 2000; PHP 5 was released in 2004.

Actually, upon further review, it's probably getdate(), which is PHP 4 and above.
Post Reply