Avatar billede michael_stim Ekspert
07. september 2004 - 10:39 Der er 11 kommentarer og
1 løsning

Forkert dato?

Hvorfor får jeg hele tiden 1 jan 1970 udskrevet (gätter på det er processorens start tid, eller hvad det nu hedder).

Kode:

<table width="210" border="0" cellspacing="1" cellpadding="1">
<?
$query="SELECT * FROM program ORDER BY dato DESC" or die(mysql_error());
$result=mysql_query($query,$links);
while ($row=mysql_fetch_array($result)) {
$days = array ('Sön','Mån','Tis','Ons','Tor','Fre','Lör');
$months = array('jan','feb','mar','apr','maj','jun','jul','aug','sep','okt','nov','dec');
$dato=$row['dato'];
$tekst=nl2br(htmlentities($row['tekst']));
$tid=$row['tid'];
?>
  <tr>
    <td class="Rubrik10"><? echo ($days[date('w',$dato)] . ' ' . date('j ',$dato) . ' ' . $months[date('n',$dato)-1] . ' ' . date('y ',$dato) . ' '  . $tid); ?></td>
  </tr>
  <tr>
  <td><? echo $tekst; ?></td>
  <tr>
  <tr>
  <td><? echo $dato; ?></td>
  <tr>
<?
}
?>
</table>

Formatet er yyyy-mm-dd
Avatar billede michael_stim Ekspert
07. september 2004 - 10:56 #1
OBS. den sidste $dato der bliver udskrevet er bare en test, og den fungerer.
Avatar billede iss Novice
07. september 2004 - 11:28 #2
Sikker på tid hedder tid og f.eks ikke Tid? Og syntes du skulle flytte rundt i den kode, dvs flytte de linier der ikks skal være i while lykken ud.
Avatar billede michael_stim Ekspert
07. september 2004 - 11:34 #3
Datoen har ikke noget med $tid at göre. Som jeg skrev tidligere udskriver den $dato korrekt som den skal i testen.
Avatar billede michael_stim Ekspert
07. september 2004 - 11:36 #4
Og ja, jeg ved godt at arrayerne kan ligge uden for loopen, men det har ikke noget at sige.
Avatar billede iss Novice
07. september 2004 - 11:47 #5
Hvilket format ligger $dato da i?
Avatar billede michael_stim Ekspert
07. september 2004 - 11:51 #6
Det står til sidst i spörgsmålet.
Avatar billede iss Novice
07. september 2004 - 11:55 #7
Fra http://www.php.net/date :
string date ( string format [, int timestamp])
Avatar billede michael_stim Ekspert
07. september 2004 - 12:10 #8
Hvad vil det sige? At man kun kan bruge den funktion til timestamp?
Avatar billede iss Novice
07. september 2004 - 12:42 #9
Jep, at funktionen tager tiden ind som sekunder siden d. 1/1-70 0:00
Avatar billede michael_stim Ekspert
07. september 2004 - 13:29 #10
OK, så langt så godt. Har fundet ud af at det er i sqlqueryen der skal formateres, men får heller ikke det til at fungerer rigtigt.

Kode:

$query="SELECT *, DATE_FORMAT(dato, '%d') AS dag, DATE_FORMAT(dato, '%c') AS manad, DATE_FORMAT(dato, '%d') AS datoen FROM program ORDER BY dato DESC" or die(mysql_error());
$result=mysql_query($query,$links) or die(mysql_error());
$days = array ('Sön','Mån','Tis','Ons','Tor','Fre','Lör');
$months = array('jan','feb','mar','apr','maj','jun','jul','aug','sep','okt','nov','dec');
while ($row=mysql_fetch_array($result)) {
$manad = str_replace('m'.$row['manad'], $months[$row['manad']] , $row['dato']);
$dag = str_replace('w'.$row['dag'], $days[$row['dag']] , $row['dato']);
$datoen = $row['datoen'];

$tekst=nl2br(htmlentities($row['tekst']));
$tid=$row['tid'];
?>
  <tr>
    <td class="Rubrik10"><? echo ($dag . ' ' . $datoen . ' ' . $manad . ' '  . $tid); ?></td>
  </tr>
Avatar billede michael_stim Ekspert
07. september 2004 - 13:49 #11
Nu fungerer det:

<?
$query="SELECT *, DATE_FORMAT(dato, '%w') AS dag, DATE_FORMAT(dato, '%c') AS manad, DATE_FORMAT(dato, '%d') AS datoen FROM program ORDER BY dato DESC" or die(mysql_error());
$result=mysql_query($query,$links) or die(mysql_error());
$days = array ('Sön','Mån','Tis','Ons','Tor','Fre','Lör');
$months = array('','jan','feb','mar','apr','maj','jun','jul','aug','sep','okt','nov','dec');
while ($row=mysql_fetch_array($result)) {
$manad = str_replace($row['manad'], $months[$row['manad']] , $row['manad']);
$dag = str_replace($row['dag'], $days[$row['dag']] , $row['dag']);
$datoen = $row['datoen'];

$tekst=nl2br(htmlentities($row['tekst']));
$tid=$row['tid'];
?>
  <tr>
    <td class="Rubrik10"><? echo ($dag . ' ' . $datoen . ' ' . $manad . ' '  . $tid); ?></td>
  </tr>
  <tr>
  <td><? echo $tekst; ?></td>
  </tr>
<?
}
?>
Avatar billede michael_stim Ekspert
07. september 2004 - 13:50 #12
iss>>Du svarede i og for sig på det jeg spurgte om, så bare skrig hvis du vil ha' point.
//Michael
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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