Page 1 of 1

presenting date in UK format any ideas?

Posted: Wed Dec 15, 2004 6:11 am
by mohson
in mySQL date is presented as yyyy/mm/dd and from my understanding that was the only way you could present date but as I am in the uk I want to present date on my table as dd/mm/yyyy is there anyway through php to tell my database to present date in the way I require??

if so does anyone know how I would incorporate it into my code??

Code: Select all

<?php
/* Connecting, selecting database */
$link = mysql_connect("*****", "****", "*****")
   or die("Could not connect : " . mysql_error());
echo "";
mysql_select_db("contact_management_system") or die("Could not select database");

// Begin your table outside of the array
echo "<table width="50%" border="0" cellpadding="2" cellspacing="2">
    <tr>
        <td width="110"><b><small>ID</small></b></td>
        <td><b></b></td>
		<td><b><small>First Name</small></b></td>
		<td><b><small>Surname</small></b></td>
		<td><b><small>Organisation</small></b></td>
		<td><b><center><small>Role</small></center></b></td>
		<td><b><small>Address(1)</small></b></td>
		<td><b><small>Address(2)</small></b></td>
		<td><b><small>City</small></b></td>
		<td><b><small>Post Code</small></b></td>
		<td><b><small>Telephone</small></b></td>
		<td><b><small>Mobile</small></b></td>
		<td><b><small>Fax</small></b></td>
		<td><b><small>Last Contact</small></b></td>
		<td><b><small>Contact Again</small></b></td>
		<td><b><small>Notes</small></b></td>
		
    </tr>"; 
	
// Define your colors for the alternating rows

$color1 = "#ADD8E6";
$color2 = "#E0FFFF";
$row_count = 0; 
	
/* Performing SQL query */



$query = "SELECT * FROM people ORDER BY firstname"; 
$result = mysql_query($query) or die("Query failed : " . mysql_error());



/* Printing results in HTML */

while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
	$person_id = $line["person_id"];
    $salutation = $line["salutation"];
	$firstname = $line["firstname"];
    $surname = $line["surname"]; 
	$organisation = $line["organisation"];
	$role = $line["role"];
	$address1 = $line["address1"];
	$address2 = $line["address2"];
	$city = $line["city"];
	$postcode = $line["postcode"];
	$telephone = $line["telephone"];
	$mobile = $line["mobile"];
	$fax = $line["fax"];
	$dateoflastcontact = $line["dateoflastcontact"];
	$datecontactagain = $line["datecontactagain"];
	$notes = $line["notes"];
	$email = $line["email"];
	
	
	/* Now we do this small line which is basically going to tell
    PHP to alternate the colors between the two colors we defined above. */

    $row_color = ($row_count % 2) ? $color1 : $color2; 
	
	
	 // Echo your table row and table data that you want to be looped over and over here. 
  
echo "<tr>
    <td width="20" bgcolor="$row_color" 	 nowrap><a href ="Upeople.html">$person_id 
    </td>
    <td bgcolor="$row_color">$salutation </td>
	<td width="110" bgcolor="$row_color" nowrap><a href="mailto: $email">$firstname 
    </td>
	<td width="100" bgcolor="$row_color" nowrap><a href="mailto: $email">$surname 
    </td>
	<td width="100" bgcolor="$row_color" nowrap>$organisation 
    </td>
	<td bgcolor="$row_color">$role</td>
	<td width="100" bgcolor="$row_color" nowrap>$address1
    </td>
	<td width="100" bgcolor="$row_color" nowrap>$address2
    </td>
	<td bgcolor="$row_color">$city</td>
	<td width="110" bgcolor="$row_color" nowrap>$postcode
    </td>
	<td bgcolor="$row_color">$telephone</td>
	<td bgcolor="$row_color">$mobile</td>
	<td bgcolor="$row_color">$fax</td>
	<td width="100" bgcolor="$row_color" nowrap>$dateoflastcontact
    </td>
	<td width="100" bgcolor="$row_color" nowrap>$datecontactagain
    </td>
	<td width="300" bgcolor="$row_color" nowrap>$notes 
    </td>
	
	
	
	</tr>"; 
	
	    // Add 1 to the row count

    $row_count++;
}


/* Free resultset */
mysql_free_result($result);

/* Closing connection */
mysql_close($link);

?>
</table>

Posted: Wed Dec 15, 2004 6:32 am
by CoderGoblin
You should be able to use the [php_man]date[/php_man] function to output it exactly as you want it.

Posted: Wed Dec 15, 2004 7:14 am
by mohson
but I want my table to present the results in the Uk format - the date function referes to printing specific dates as a one off how would I go about setting my table so that it the date coloumbs print resulst in UK format and wouldnt my MYSQL field called date need to be changed as well??

Posted: Wed Dec 15, 2004 7:48 am
by Weirdan
You may use [mysql_man]date_convert[/mysql_man] sql function. This way your fields will stay intact, but you will need to change your queries

Posted: Wed Dec 15, 2004 8:24 am
by timvw

Code: Select all

SELECT DATE_FORMAT(date_column, '%d-%m-%Y') AS date_column FROM table

Posted: Wed Dec 15, 2004 8:34 am
by mohson
thanks,

but where do I use this: on the mysql or in the php - for example my query code is:

Code: Select all

$query = "SELECT * FROM people ORDER BY firstname"; 
$result = mysql_query($query) or die("Query failed : " . mysql_error());
do i incorporate it here?