Avatar billede michaeltryl Seniormester
04. november 2007 - 21:24 Der er 16 kommentarer og
1 løsning

Find uge dag med php

Følgende giver mig en del problemer.
jeg henter en dato fra mysql den er fra et datetime felt og bliver hentet ud som den står i mysql f.eks. 2007-12-10 09:30:00
hvilket med følgende burde udskrive "Mandag" hvis jeg udskriver $fra dagen.
$fra = $a["fra"];

$dage = array("Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag");
$dagen = date("N", $fra);
$pos = $dagen - 1;
$fra_dagen = $dage[$pos];

udskriver jeg så $fra_dagen får jeg ingenting, men udskriver jeg $dagen bliver der udskrevet et "N" se eks.
http://sfo.magiske-michael.dk/kalender.php
Er der en som kan se nogen fejl
Avatar billede erikjacobsen Ekspert
04. november 2007 - 21:28 #1
Hvilken PHP version bruger du?
Avatar billede erikjacobsen Ekspert
04. november 2007 - 21:30 #2
Hmm, lidt detektivarbejde får det til at se ud som om du bruger PHP 4.4.7 - det er en noget aldrende udgave. Den understøtter ikke "N" , men "w":  http://php.net/date
Avatar billede erikjacobsen Ekspert
04. november 2007 - 21:32 #3
Ah, ok, du er hosted på gigahost.dk. De siger at de arbejder på at få PHP5 på serverne, men de har godt nok længe haft en stor kærlighed til PHP4.
Avatar billede jakobdo Ekspert
04. november 2007 - 21:37 #4
erikjacobsen, du har ikke lavet dit detektiv arbejde godt nok. :o)

https://gigahost.dk/phpinfo.php -> PHP Version 4.4.4-8
Avatar billede erikjacobsen Ekspert
04. november 2007 - 21:37 #5
Og, så til sidst, forhåbentlig, så kan date-funktionen altså ikke tage en "2007-12-10 09:30:00" streng som andet argument. Den skal have en unixtimestamp - antal sekunder siden verdens skabelse (som var 1. januar 1970). Du kan kigge på: http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_unix-timestamp
Avatar billede erikjacobsen Ekspert
04. november 2007 - 21:40 #6
Nej, jakobdo. Du har ikke lavet dit detektivarbejde godt nok. Den server, som magiske michael kører på, er en anden end den gigahost.dk anvender til sit eget site. Og Michaels bruger altså med statsgaranti PHP Version 4.4.7-0.dotdeb.1
Avatar billede jakobdo Ekspert
04. november 2007 - 21:45 #7
Pis, taget med bukserne nede. :o(
Avatar billede erikjacobsen Ekspert
04. november 2007 - 21:46 #8
Meget kan man sige om gigahost.dk, men de er da med til at bringe liv og glade dage til eksperten.dk. ;)
Avatar billede michaeltryl Seniormester
04. november 2007 - 21:50 #9
Ja det er korrekt at jeg er hostet ved gigahost, som er ved at opdatere til php5.
Det virkede ´med "w" istedet for "N", så erikjacobsen, hvis du lægger et svar så lukker jeg spørgsmålet.
I skal alle have tak for hjælpen
Avatar billede erikjacobsen Ekspert
04. november 2007 - 21:50 #10
Retfærdigvis skal vel siges, at jeg i over et år har haft en konto hos gigahost.dk - jeg læste ikke det med småt ("php4"). Det er meget begrænset hvad jeg kan bruge pågældende konto til, så jeg sidder og triller tommelfingre, mens jeg venter på PHP5 hos dem. Men jeg har adgang til andre hostingløsninger rundt omkring, som alle uden undtagelse har understøttet PHP5 i flere år. Så jeg klarer mig ;)
Avatar billede erikjacobsen Ekspert
04. november 2007 - 21:52 #11
Nej tak, Michael. Jeg samler slet ikke på point. Svar selv, accepter eget svar.
(jeg antager at jakobdo ikke vil gøre krav på dette rov.....hehe)
Avatar billede henninghabor Nybegynder
04. november 2007 - 21:53 #12
Er det ikke nemmere bare at finde dagens nr. vha. MySQL?

http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_weekday
Avatar billede henninghabor Nybegynder
04. november 2007 - 21:55 #13
erikjacobsen>>Hvorfor venter du ikke bare til v. 6 kommer? He he
Avatar billede michaeltryl Seniormester
04. november 2007 - 22:01 #14
Jeg har kigget på http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_weekday og det ser ud til kun at virke på date felter og mit er datetime. Jeg har dog forsøgt uden held. Derfor lukker jeg her, med tak for hjælpen til alle.
Avatar billede erikjacobsen Ekspert
04. november 2007 - 22:06 #15
Og så bruge version 15 når jeg sidder med den bærbare i gyngestolen på alderdomshjemmet...

Man kan bruge funktionen fra MySql, men bør, ved større systemer, overveje nøje hvor man egentlig vil lægge sin forretningslogik. Ideelt set er en database et sted at opbevare data, og ikke til komplekse beregninger. Komplekse beregninger bør ledsages af aftestning (unit-test), aom er lidt mere besværlige at lave i et databasesystem. Performance kan sommetider diktere, at databasen skal lave mere af arbejdet.

Og denne diskussion er overkill i Michaels sammenhæng, ja.
Avatar billede erikjacobsen Ekspert
04. november 2007 - 22:10 #16
Virker nu udmærket på en datetime:

SELECT weekday( added ) , added  FROM ...

weekday( added )     added
3     2006-05-18 14:28:46
3     2006-05-18 14:39:36
3     2006-05-18 14:51:47
4     2006-05-19 09:29:21
5     2006-07-08 21:15:22
Avatar billede erikjacobsen Ekspert
09. november 2007 - 22:27 #17
Og skal vi så ikke lige gøre lidt reklame for gigahost.dk - nu kører de PHP Version 5.2.4-0.dotdeb.1 (langt om længe...)
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