ChrisKMedlem sedan feb. 200522 inlägg
Har problem med en sak. Kör en mambo-portal och i en mysql-databas lagras datum när någon loggar in med hjälp av DATETIME i fältet "lastvisitDate". Men tiden är fel, det är fel tidszon och hjälper inte att ändra tidsoffset i mambon.
Sen har jag också ett php-script som visar när användare senast loggade in, kan man ändra tiden där?
Problemet finns postat här:
http://www.mambers.com/showthread.php?t=20168
Tack för all hjälp jag kan få!
MVH
Christer
jboy_87Medlem sedan aug. 20011 105 inlägg
är det i databasen värdet visas fel eller i php scriptet?
ChrisKMedlem sedan feb. 200522 inlägg
Värdet blir ju fel i databasen och även i php-scriptet. antingen får jag på nåt sätt fixa så att DATETIME sätter rätt värde eller att 6 timmar adderas till värdet av php-scriptet så att det blir korrekt på sidan, men huur?
jOOOLMedlem sedan sep. 200438 inlägg
du får nog ta och använda substr på $row->lastvisitDate och ta ut timmarna sedan plussa på 6timmar och om det blir större än 24 plussa på en på dagen också...
ChrisKMedlem sedan feb. 200522 inlägg
Låter som en ide, men hur gör jag det?
jOOOLMedlem sedan sep. 200438 inlägg
Det skulle kunna se ut såhär, fast då kan det hända att det står att man varit inne 32:a mars osv...
iaf här är koden.
<?php
$test = $row->lastvisitDate;
$timme = substr($test,'11','2') + 6;
if($timme > 24) {
$nytimme = ($timme - 24);
if($nytimme < 10) { $nytimme = "0$nytimme"; }
$dag = substr($test,'8','2') + 1;
if($dag < 10) { $dag = "0$dag"; }
$nyttdatum = substr($test,'0','8').$dag." ".$nytimme.substr($test,'13');
} else {
if($timme < 10) { $timme = "0$nytimme"; }
$nyttdatum = substr($test,'0','11').$timme.substr($test,'13');
}
echo $nyttdatum;
?>
ChrisKMedlem sedan feb. 200522 inlägg
perfa
Suveränt!
din kod funkar fint men kan du implementera den koden i min befintliga kod så vore det guld! (Och lite mindre huvudbry för en novis som mig..;))
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
global $mosConfig_offset;
$count = @$params->count ? intval( $params->count ) : 5;
$query = "SELECT id, username, name, lastvisitDate"
. "\nFROM #__users"
. "\nWHERE block='0'"
. "\nORDER BY lastvisitDate DESC LIMIT $count";
// initialise the query in the $database connector
// this translates the '#__' prefix into the real database prefix
$database->setQuery( $query );
// retrieve the list of returned records as an array of objects
$rows = $database->loadObjectList();
// cycle through the returned rows displaying them in a table
// with links to the content item
// escaping in and out of php is now permitted
?>
<table cellpadding="1" cellspacing="1" border="0">
<?php foreach ($rows as $row) { ?>
<tr>
<td valign="top"><img src="<?php echo $mosConfig_live_site;?>/images/M_images/arrow.png" alt="" /></td>
<td><?php echo $row->username ?> <i>(<?php echo $row->name ?>)</i><br><span="smalldark">(<?php echo $row->lastvisitDate ?>)</span></td>
</tr>
<?php
}
?>
ChrisKMedlem sedan feb. 200522 inlägg
joool, fick det att funka men om klockan är innan 10 på dagen så blir tiden 2005-03-08 0:16:41
Det fattas altså en timsiffra = 2005-03-08 0HÄR:16:41
ChrisKMedlem sedan feb. 200522 inlägg
Fattar inte, nåt fel med if($timme < 10)-delen
ChrisKMedlem sedan feb. 200522 inlägg
Ändrade lite och fick det att funka, tack joool!