Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

how display and edit date format using PHP and MySQL

Posted on 2010-11-19
6
329 Views
Last Modified: 2012-05-10
I need to display(list) and edit(update) the birth date on a web page using PHP connected to a MySQL database.

All is working ok, that is ,  I connect to the database from a web page but it displays the date as yyyy-mm-dd instead of dd-mm-yyyy (see userinfo.php in the code box).

Also, I can  update the date but only if I type it as yyyy-mm-dd into the web form (see useredit.php in the code box).

What do I need to do?
useredit.php for html to edit(update)

<tr>
<td>Birth Date</td>
<td><input type="text" name="birth_date" maxlength="50" value="
<?
if($form->value("birth_date") == ""){
   echo $session->userinfo['birth_date'];
}else{
   echo $form->value("birth_date");
}
?>">
</td>
<td><? echo $form->error("birth_date"); ?></td>
</tr>

userinfo.php for html to display(list)

*/birth_date */
echo "<b>Birth Date</b> ".$reg_user_info['birth_date']."<br>";

Open in new window

0
Comment
Question by:bianchef9
6 Comments
 
LVL 3

Expert Comment

by:PorterGraphics
ID: 34175302
You can use date_format() to format the date.

PHP - date_format()
0
 
LVL 8

Expert Comment

by:wolfgang_93
ID: 34175316
I presume that somewhere in your code you have a SQL command passed
to MySQL to fetch the values into the form, for example:

  select ...,birth_date,... from ....;

It would fetch any date field in the default MySQL date format of yyyy-mm-dd.

To change the default date display, you can apply the date-format SQL function
to the birth_date field. For example:

  select ...,date-format(xx,'%m-%d-%Y'),... from ...
0
 
LVL 83

Expert Comment

by:Dave Baldwin
ID: 34175339
'yyyy-mm-dd' is the standard format for dates in part because it is a 'sortable' format.  This page http://us3.php.net/manual/en/function.date.php gives a lot of info about the PHP 'date' function.  It can be used with the 'mktime' function http://us3.php.net/manual/en/function.mktime.php to re-arrange dates.
0
U.S. Department of Agriculture and Acronis Access

With the new era of mobile computing, smartphones and tablets, wireless communications and cloud services, the USDA sought to take advantage of a mobilized workforce and the blurring lines between personal and corporate computing resources.

 

Author Comment

by:bianchef9
ID: 34175434
wolfgang_93

I have SQL queries for several date fields as
SELECT ..., b_date, e_date, r_date, x_date, ... from

so do I need to use date-format for each date fields ?
is the syntax as date-format(b_date,'%m-$d-%Y') ?

also, how do use date-format for same several fields with INSERT and UPDATE queries?
0
 
LVL 8

Accepted Solution

by:
wolfgang_93 earned 250 total points
ID: 34175713
Yes, you would need to do the same thing for each date field that you are using
on the form.

To convert date format in an insert or update, you are generally converting
from string to a different date format, so you can use the MySQL str_to_date
function.

SQL example:
insert into kkk(xx) values(str_to_date('10-23-2010','%m-%d-%Y'));

PHP example is something like this I think:
$cmd="insert into ... values(... str_to_date('".$reg_user_info['birth_date']."','%m-%d-%Y')) ...";
0
 

Author Closing Comment

by:bianchef9
ID: 34180871
I used your suggestion for the following code which worked to display the human date from the server date.

/* Convert MySQL yyyy-mm-dd to PHP dd-mm-yyyy table contents */
$expiration_date=date("m/d/Y",strtotime($expiration_date));
0

Featured Post

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Build an array called $myWeek which will hold the array elements Today, Yesterday and then builds up the rest of the week by the name of the day going back 1 week.   (CODE) (CODE) Then you just need to pass your date to the function. If i…
Introduction Since I wrote the original article about Handling Date and Time in PHP and MySQL (http://www.experts-exchange.com/articles/201/Handling-Date-and-Time-in-PHP-and-MySQL.html) several years ago, it seemed like now was a good time to updat…
The viewer will learn how to count occurrences of each item in an array.
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

856 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question