webForumDet fria alternativet

Datumproblem

16 svar · 338 visningar · startad av Melea

MeleaMedlem sedan juli 20032 667 inlägg
#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

PeeerMedlem sedan mars 20025 362 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()

MeleaMedlem sedan juli 20032 667 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

PeeerMedlem sedan mars 20025 362 inlägg
#4

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

MeleaMedlem sedan juli 20032 667 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

PeeerMedlem sedan mars 20025 362 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!

MeleaMedlem sedan juli 20032 667 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

PeeerMedlem sedan mars 20025 362 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() );
MeleaMedlem sedan juli 20032 667 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

PeeerMedlem sedan mars 20025 362 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() );
MeleaMedlem sedan juli 20032 667 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

PeeerMedlem sedan mars 20025 362 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() );
MeleaMedlem sedan juli 20032 667 inlägg
#13

Ah! Lysnade, tackar och bugar

PeeerMedlem sedan mars 20025 362 inlägg
#14

:)

MeleaMedlem sedan juli 20032 667 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

PeeerMedlem sedan mars 20025 362 inlägg
#16

chansning

....
order by date_format(senast_inloggad, '%H:%i')
MeleaMedlem sedan juli 20032 667 inlägg
#17

Jajamen de funkar finfint :) Tack tack

Genererad på 356 ms · cache AV · v20260730165559-full.f96bc7eb