I thought that it was a CHAR column.  I didn't know you could use 
UNIX_TIMESTAMP() on CHAR columns, so I was showing him how to turn his 
colon delimited strings into timestamps with mktime().

Erik


On Friday, June 7, 2002, at 02:27  PM, John Holmes wrote:

> Umm...How about using UNIX_TIMESTAMP() in your query, then you won't
> need any of that PHP code you just wrote...
>
> ---John Holmes...
>
>> -----Original Message-----
>> From: Erik Price [mailto:[EMAIL PROTECTED]]
>> Sent: Friday, June 07, 2002 2:22 PM
>> To: juaid
>> Cc: [EMAIL PROTECTED]
>> Subject: Re: [PHP] convertion from string to time & substracting
>>
>>
>> On Friday, June 7, 2002, at 02:01  PM, juaid wrote:
>>
>>> sorry if maybe this is a bit dumb question, but I'm a begginer with
>>> php...
>>>
>>> I got a mysql database, where two of the fields of a table record
> times
>>> as
>>> CHAR(8) in the format hh:mm:ss
>>>
>>> I want to take this two times and get the difference between them in
>>> seconds, for example 12:01:30 - 12:00:00 = 90
>>> I looked up at the doc in the php.net website and couldn't get on
> how
>>> to do
>>> this... should I use the strtotime function?
>>>
>>> anyone has donde something like this, or knows what functions could
>>> help me
>>> to do this?
>>
>> First of all, if you're storing time then you're better off using the
>> DATETIME column type.  Even though it may take a bit more space than
>> CHAR(8), unless you absolutely need the ultimate in table
> optimization,
>> use DATETIME.  It makes comparisons and manipulations like the one you
>> are trying to do much easier.  (Because you can convert them to
>> UNIX_TIMESTAMP and then do your math on that, which is a piece of
> cake.)
>>
>> But to answer your question, here's what I would do:
>>
>> // $db contains database connection handle
>> $sql = "SELECT row FROM table WHERE where_clause";
>> // attempt to pull data from DB
>> if (!$result = mysql_query($sql, $db)) {
>>      die('Query failed.');
>> }
>>
>> // assuming only one row is returned
>> $row = mysql_result($result, 0);
>>
>> $time_array = explode(':', $row);
>> $hours = $time_array[0];
>> $minutes = $time_array[1];
>> $seconds = $time_array[2];
>>
>> // convert to timestamp so we can easily do math
>> $timestamp = mktime($hours, $minutes, $seconds, 0, 0, 0);
>>
>> Now all of your times are in timestamp form, and you can do what you
>> need to do.
>>
>>
>>
>> Erik




----

Erik Price
Web Developer Temp
Media Lab, H.H. Brown
[EMAIL PROTECTED]
>>
>>
>> --
>> PHP General Mailing List (http://www.php.net/)
>> To unsubscribe, visit: http://www.php.net/unsub.php
>


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to