webForumDet fria alternativet
Logga in / Bli medlem

Datumproblem

PHP

16 svar · 338 visningar · startad av Melea

Medlem sedan juli 20033 147 inlägg
Trådstart#1

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

Medlem sedan mars 20025 907 inlägg
#2

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()

Medlem sedan juli 20033 147 inlägg
#3

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

Medlem sedan mars 20025 907 inlägg
#4

Nej det tror jag inte du är. Fungerar inte den där strängen? (ev. felmeddelande?)

Medlem sedan juli 20033 147 inlägg
#5

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

Medlem sedan mars 20025 907 inlägg
#6

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!

Medlem sedan juli 20033 147 inlägg
#7

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

Medlem sedan mars 20025 907 inlägg
#8

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() );
Medlem sedan juli 20033 147 inlägg
#9

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

Medlem sedan mars 20025 907 inlägg
#10

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() );
Medlem sedan juli 20033 147 inlägg
#11

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

Medlem sedan mars 20025 907 inlägg
#12

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() );
Medlem sedan juli 20033 147 inlägg
#13

Ah! Lysnade, tackar och bugar

Medlem sedan mars 20025 907 inlägg
#14

:)

Medlem sedan juli 20033 147 inlägg
#15

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

Medlem sedan mars 20025 907 inlägg
#16

chansning

....
order by date_format(senast_inloggad, '%H:%i')
Medlem sedan juli 20033 147 inlägg
#17

Jajamen de funkar finfint :) Tack tack

260 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)