MeleaMedlem sedan juli 20032 667 inlägg
Hejsan!
Är ganska ny på php så hoppas ni har överseende med detta...
Har ett litet problem när jag ska skriva ut datumet från min MySQL databas (den är inställd på datetime). Jag vill, istället för 2003-08-29 23:19:50 få ut en sats med bara själva datumet. Alltså 2003-08-29 och en med 23:19:50. I ASP är detta väldigt enkelt genom att man gör:
<%=FormatDateTime(RS("datum"),2)%>
och
<%=FormatDateTime(RS("datum"),4)%>
Finns det någon liknande funktion i PHP?
Tacksam för svar :)
Mvh
PeeerMedlem sedan mars 20025 362 inlägg
Det kan du fixa redan i din sql-sträng
select date(datum)
from tabell
where id = 3
Vill du använda php så kan du ta dig en titt på date()
MeleaMedlem sedan juli 20032 667 inlägg
greppar inte riktigt hur jag ska skriva i min sql sträng..
$query = mysql_query("SELECT date(senast_inloggad) * FROM memb_memb order by senast_inloggad desc limit 7") or exit( mysql_error() );
är jag helt bakom flötet? :OO
Mvh
PeeerMedlem sedan mars 20025 362 inlägg
Nej det tror jag inte du är. Fungerar inte den där strängen? (ev. felmeddelande?)
MeleaMedlem sedan juli 20032 667 inlägg
Funkar inge vidare =(
You have an error in your SQL syntax near '(senast_inloggad) * FROM memb_memb order by senast_inloggad desc limit 7' at line 1
Blir felmeddelandet
PeeerMedlem sedan mars 20025 362 inlägg
Ajdu.. liten miss
$query = mysql_query("SELECT date(senast_inloggad) FROM memb_memb order by senast_inloggad desc limit 7") or exit( mysql_error() );
* du hade petat in ska inte vara där!
MeleaMedlem sedan juli 20032 667 inlägg
Okej, får fortfarande samma fel :(
You have an error in your SQL syntax near '(senast_inloggad) as senast_inloggad FROM memb_memb order by senast_inloggad des' at line 1
Mvh
PeeerMedlem sedan mars 20025 362 inlägg
Hmm, prova-
$query = mysql_query("SELECT date_format(senast_inloggad, '%Y-%m-%d')
FROM memb_memb
order by senast_inloggad desc limit 7") or exit( mysql_error() );
MeleaMedlem sedan juli 20032 667 inlägg
Får åtminstone inte det felet längre ;)
Notice: Undefined index: senast_inloggad in
design2.php on line 35
Det är alltså där jag skriver ut datumet med <?=$r["datum"]?>
Är det rätt?
Mvh
PeeerMedlem sedan mars 20025 362 inlägg
Aok.. om du använder <?=$r["datum"]?> så blir det något sådant här:
$query = mysql_query("SELECT date_format(senast_inloggad, '%Y-%m-%d') [b]as datum[/b]
FROM memb_memb
order by senast_inloggad desc limit 7") or exit( mysql_error() );
MeleaMedlem sedan juli 20032 667 inlägg
Tänkte just skriva det ;) Löste just felet själv:
$query = mysql_query("SELECT DATE_FORMAT(senast_inloggad, '%Y-%m-%d %H:%i') AS senast_inloggad FROM memb_memb order by senast_inloggad desc limit 7") or exit( mysql_error() );
Tack så hemskt mkt för din hjälp! Om jag nu vill ha användarnamnet och t.ex. status utskrivet också så måste jag skapa en ny sql sträng?
Hur blir det då?
<?
$db = mysql_connect($dbHost,$dbUser, $dbPass);
mysql_select_db($dbDb);
$query = mysql_query("SELECT DATE_FORMAT(senast_inloggad, '%Y-%m-%d %H:%i') AS senast_inloggad FROM memb_memb order by senast_inloggad desc limit 7") or exit( mysql_error() );
while ($r = mysql_fetch_array($query)) {
?>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td width="15"><? If ($r["status"] == "online") { ?><img src="images/online.gif" border="0"><? } else { ?><img src="images/offline.gif" border="0"><? } ?></td><td width="135"><?=$r["username"]?></td><td><?=$r["senast_inloggad"]?></td>
</tr>
</table>
<?
}
?>
Så ser själva koden ut just nu... Men den kan inte skriva ut användarnamnet och statusen.
Mvh
PeeerMedlem sedan mars 20025 362 inlägg
Nopp, det behöver du inte:
$query = mysql_query("SELECT date_format(senast_inloggad, '%Y-%m-%d') as senast_inloggad, [b]användarnamn, status[/b]
FROM memb_memb
order by senast_inloggad desc limit 7") or exit( mysql_error() );
MeleaMedlem sedan juli 20032 667 inlägg
Ah! Lysnade, tackar och bugar
PeeerMedlem sedan mars 20025 362 inlägg
MeleaMedlem sedan juli 20032 667 inlägg
Ah! Fortfarande lite problem. Nu ska vi se hur detta ska gå och förklara...
Jag listar alltså de senaste inloggade på sidan som jag hämtar ut ur databasen.
När jag skriver ut datumet med enbart '%H:%i' så listar den bara efter tiden och inte datumet.
Alltså den som loggar in senast på ett dygn (oavsett datum) hamnar högst upp på listan.
Finns det någon enkel lösning på detta?
Mvh
PeeerMedlem sedan mars 20025 362 inlägg
chansning
....
order by date_format(senast_inloggad, '%H:%i')
MeleaMedlem sedan juli 20032 667 inlägg
Jajamen de funkar finfint :) Tack tack