Avatar billede phil_a Nybegynder
02. september 2004 - 23:31 Der er 7 kommentarer og
1 løsning

2 SQL/PHP spørgsmål om datetime og limit

Hey jeg har lige to spørgsmål omkring MySQL og PHP
(1)
Jeg har en datetime værdi i en database ex 2004-09-02 10:00:00

den vil jeg gerne have php til formaterer så der står: 2.Sep 2004

hvordan gør man det?


(2)
Jg har en table:nyhed hvor minder nyheder er i. Og jeg vil gerne vise de seneste 5 overskrift forskellige steder på siden.
$st1=mysql_query("select overskrift from nyhed order by id desc limit 0,1");
$nr1=mysql_fetch_array($st1);
$st2=mysql_query("select overskrift from nyhed order by id desc limit 1,1");
$nr2=mysql_fetch_array($st2);
$st3=mysql_query("select overskrift from nyhed order by id desc limit 2,1");
$nr3=mysql_fetch_array($st3);
$st4=mysql_query("select overskrift from nyhed order by id desc limit 3,1");
$nr4=mysql_fetch_array($st4);
$st5=mysql_query("select overskrift from nyhed order by id desc limit 4,1");
$nr5=mysql_fetch_array($st5);

Jeg har prøvet med denne stump kode som virker, men er der en smartere måde at gøre det op
Avatar billede thb Nybegynder
02. september 2004 - 23:40 #1
spm 1:

Det må være sådan her: date("d.M Y",$row['datoværdi'])
Jeg har ikke lige afprøvet det, men ellers så kig her:
http://www.php.net/manual/en/function.date.php

Thomas
Avatar billede Slettet bruger
02. september 2004 - 23:50 #2
ad 2:

$ovs=array();
$result=mysql_query("select overskrift from nyhed order by id desc limit 5");
while($ovs[]=mysql_fetch_assoc($result));

Nu ligger overskrifterne i

$ovs[0]['overskrift'] til $ovs[4]['overskrift']
Avatar billede phil_a Nybegynder
02. september 2004 - 23:56 #3
thb: den virkede ikke. er der nogen der har et bud????
Avatar billede thb Nybegynder
03. september 2004 - 00:08 #4
Prøv med den her... date("j.M Y",datoværdi); // udskrive 3.sep 2004

Den virker hos mig..

Thomas
Avatar billede phil_a Nybegynder
03. september 2004 - 00:10 #5
jamen det der er udgangspunktet er det format mysqlfunktionen now() og det er altid på denne form '2004-09-02 10:00:00' - nu er det meningen at jeg skal tage tidspunktet ud og formaterer det så der står 2. september 2004 - 10:00
hvordan gør man
Avatar billede Slettet bruger
03. september 2004 - 00:53 #6
Jeg går ud fra, at du vil have måneden på dansk?

Så er den eneste sikre løsning at lave den selv:

I din query skal du skrive bl.a.: SELECT UNIX_TIMESTAMP(datofelt) as dato

Så får du datoen som en værdi PHP kan arbejde videre med.

Så skal du bruge en liste med månedsnavne:

$mdr=array(1=>'januar','februar','marts', ... ,'december');

Når du så skal udskrive datoen, kan du gøre således:

$d=getdate($resultatarray['dato']);
echo $d['mday'] . '. ' . $mdr[$d['mon']] . ' ' . $d['year'] . ' - ' . $d['hours'] . ':' $d['minutes'];
Avatar billede phil_a Nybegynder
03. september 2004 - 10:34 #7
Tak det virkede sandbox
Avatar billede Slettet bruger
03. september 2004 - 15:13 #8
Så får du lige et svar også.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester