For Programmers: Free Programming Magazines  


Home > Archive > PHP DB > December 2005 > Date Formatting Question









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Date Formatting Question
Bomgardner, Mark A

2005-12-14, 6:58 pm

I am trying to format the month portion of a date that I am trying to
pull from MySQL to be placed into a drop down menu to modify the date.
I have tried several ways and none seem to be working. =20

I am pulling the date out of MySQL with:=20
$sDate =3D explode("-", $row_events['Sdate']);

And then attempting to insert each portion of the array into a drop down
menu with:
echo "<select name=3DSmonth>";
echo "<option selected>$sDate[1]</option>";
which is where I am running into the problem. I pull out the month as 2
digit numeric 01, 02, 03 etc., but I want it displayed as January,
February, March, etc.,

I have tried the following with no success:
Date("F",strtotime($sDate)); =20
Strftime("%B:,$sDate);
Date("F",$sDate);


I would use MySQL to format the date, but I have three date fields to
modify and it would be easier to do it in PHP

Any pointers would be appreciated.


Mark Bomgardner
Technology Specialist
KLETC
El Bekko

2005-12-14, 6:58 pm

Bomgardner, Mark A wrote:
> I am trying to format the month portion of a date that I am trying to
> pull from MySQL to be placed into a drop down menu to modify the date.
> I have tried several ways and none seem to be working.
>
> I am pulling the date out of MySQL with:
> $sDate = explode("-", $row_events['Sdate']);
>
> And then attempting to insert each portion of the array into a drop down
> menu with:
> echo "<select name=Smonth>";
> echo "<option selected>$sDate[1]</option>";
> which is where I am running into the problem. I pull out the month as 2
> digit numeric 01, 02, 03 etc., but I want it displayed as January,
> February, March, etc.,
>
> I have tried the following with no success:
> Date("F",strtotime($sDate));
> Strftime("%B:,$sDate);
> Date("F",$sDate);
>
>
> I would use MySQL to format the date, but I have three date fields to
> modify and it would be easier to do it in PHP
>
> Any pointers would be appreciated.
>
>
> Mark Bomgardner
> Technology Specialist
> KLETC


make a function like this:

function datenum2str($date)
{
$newdate = str_replace("01","Jan",$date);
$newdate = str_replace("02","Feb",$date);
$newdate = str_replace("03","Mar",$date);
$newdate = str_replace("04","Apr",$date);
$newdate = str_replace("05","May",$date);
$newdate = str_replace("06","Jun",$date);
$newdate = str_replace("07","Jul",$date);
$newdate = str_replace("08","Aug",$date);
$newdate = str_replace("09","Sep",$date);
$newdate = str_replace("10","Oct",$date);
$newdate = str_replace("11","Nov",$date);
$newdate = str_replace("12","Dec",$date);

return $newdate;
}

And then use this:

echo "<select name=Smonth>";
echo "<option selected value=\"$sDate[1]\">$newdate</option>";


Hope it helps,

El Bekko
Neil Smith [MVP, Digital media]

2005-12-14, 6:58 pm

Apart from anything, you need to supply an option value for each of
those options, not just rely on the browser which will default to
passing the option *text* back from the form, if you specify no
value. So your option elements should read

<option value="1">January</option>

Notwithstanding that, RE below - you guys are all nuts, this is a
ridiculous way to do it.
Let MySQL do the work, it has perfectly good functions to do this :

SELECT DATE_FORMAT(date_field_name, '%c') AS intDate,
DATE_FORMAT(date_field_name, '%M'') AS strMonth
FROM yadda etc etc

Then you use (assuming your're using $result = mysql_fetch_assoc()
as your looped result variable name)

$optionlist='';
$selected_month = (integer) $_GET["Smonth"];

while ($result = mysql_fetch_assoc($link)) {
$optionlist.="<option";
if ($selected_month==$result['intDate']) {
$optionlist.=' selected="selected"';
}
$optionlist.='"'.$result['intDate'].'">'.$result['strMonth']."</option>'\r\n\t";
} // End while

print($optionlist);

HTH
Cheers, Neil



>To: php-db@lists.php.net
>Date: Wed, 14 Dec 2005 15:52:31 +0100
>From: El Bekko <elbekko@gmail.com>
>Reply-To: elbekko@gmail.com
>Subject: Re: Date Formatting Question
>
>Bomgardner, Mark A wrote:
>I am trying to format the month portion of a date that I am trying to
>pull from MySQL to be placed into a drop down menu to modify the date.
>...snip...
>modify and it would be easier to do it in PHP
>Any pointers would be appreciated.
>
>Mark Bomgardner
>Technology Specialist
>KLETC
>
>make a function like this:
>
>function datenum2str($date)
> {
> $newdate = str_replace("01","Jan",$date);
> $newdate = str_replace("02","Feb",$date);
> $newdate = str_replace("03","Mar",$date);
> $newdate = str_replace("04","Apr",$date);
> $newdate = str_replace("05","May",$date);
> $newdate = str_replace("06","Jun",$date);
> $newdate = str_replace("07","Jul",$date);
> $newdate = str_replace("08","Aug",$date);
> $newdate = str_replace("09","Sep",$date);
> $newdate = str_replace("10","Oct",$date);
> $newdate = str_replace("11","Nov",$date);
> $newdate = str_replace("12","Dec",$date);
>
> return $newdate;
> }
>
>And then use this:
>
>echo "<select name=Smonth>";
>echo "<option selected value=\"$sDate[1]\">$newdate</option>";
>
>
>Hope it helps,
>
>El Bekko




========================================
================
CaptionKit http://www.captionkit.com : Production tools
for accessible subtitled internet media, transcripts
and searchable video. Supports Real Player, Quicktime
and Windows Media Player.

VideoChat with friends online, get Freshly Toasted every
day at http://www.fresh-toast.net : NetMeeting solutions
for a connected world.
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com