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.
|
|
|
|
|