Tjena
Jag ska plocka ut ett gäng saker från en besökslogg:
- Senaste inloggning (före "nu", alltså näst senaste)
- Antal inloggningar (totalt)
- När första inloggning ägde rum
Dessa saker ska jag presentera för besökaren när denna loggar in.
Såhär har jag gjort:
$sSql = "SELECT "
."logg_datetime, logg_ipaddr, "
."(SELECT COUNT(logg_id) FROM admin_users_logg WHERE logg_user = " . $_SESSION['user_id'] . ") AS login_antal, "
[red]."(SELECT logg_datetime FROM admin_users_logg WHERE logg_user = " . $_SESSION['user_id'] . " ORDER BY logg_datetime ASC LIMIT 1) AS first_visit "[/red]
."FROM admin_users_logg "
."WHERE logg_user = " . $_SESSION['user_id'] . " "
."ORDER BY logg_datetime DESC "
."LIMIT 2";
$result3 = mysql_query($sSql, $the_link) or die("<p>Fel:\n" . mysql_error() . "</p>\n");
while($rs = mysql_fetch_array($result3)){
$logg_datetime = $rs['logg_datetime'];
$logg_ipaddr = $rs['logg_ipaddr'];
$logg_antal = $rs['login_antal'];
$first_visit = $rs['first_visit'];
}
Problemet är att den rödfärgade subfrågan, ger "1970-01-01 00:33:26" hur jag än bär mig åt, den verkar alltså inte returnera nått alls.
Vidare så har jag problem att hämta det näst senaste besöket, har sökt omkring här men hittar inget som jag har hjälp av. Måste ha det näst senaste, för hämtar jag den senaste, så visar den ju tiden för den inloggning man precis gjort.
Såhär har jag gjort för att visa detta:
Du loggade senast in [red]<?=gmdate("Y-m-d H:i:s", $logg_datetime + $_SESSION['user_gmt'] * 3600);[/red]?><br />
Du har totalt loggat in [red]<?=$logg_antal?> gånger sedan <?=gmdate("Y-m-d H:i:s", $first_visit + $_SESSION['user_gmt'] * 3600);[/red]?> .<br /><br />
Det rödmarkerade ska göra så att "rätt" tidszon visas, då aktuell tid GMT0 sparas i databasen.
DBMS är MySQL 5.
Tack på förhand!