Avatar billede jonas_j Nybegynder
25. august 2004 - 11:17 Der er 22 kommentarer og
1 løsning

Hjælp til at SELECTE day i en "date" felt

Skal have trukket data ud omkring day, month, year fra et date-felt i mysql. Hvor selecter jeg lige præcis at det skal være day jeg vil have ud og ikke hele strengen: 2004-08-22. Jeg skal bare have 22 ud?
Avatar billede phuc69 Juniormester
25. august 2004 - 11:19 #1
hvad med at hente hele feltet. nyvar=day(ditfelt)
Avatar billede jonas_j Nybegynder
25. august 2004 - 11:22 #2
jeg henter felete på nuværende tidspunkt med: $start_day = $row["start"];
Avatar billede dsj Nybegynder
25. august 2004 - 11:22 #3
SELECT DAY(ditfelt) AS dag FROM tabel WHERE...
Avatar billede jonas_j Nybegynder
25. august 2004 - 11:22 #4
hvad mener du så jeg skal, hente strengen ud og splitte den op. Men har sql ikke en indbygget funktion?
Avatar billede jonas_j Nybegynder
25. august 2004 - 11:23 #5
Jeg laver en SELECT * først, det vil jeg gerne bibeholde!
Avatar billede locturian Nybegynder
25. august 2004 - 11:23 #6
Det gør du ikke - Normalt hiver man hele dato feltet ud, og ændre i det bagefter...

Så kan du bruge " day(datofelt) " bagefter...
Avatar billede jonas_j Nybegynder
25. august 2004 - 11:27 #7
hmm... det virker heller ikke rigtigt: $start_day = $row["day(start)"];
Avatar billede jonas_j Nybegynder
25. august 2004 - 11:28 #8
$projekter_SQL = mysql_query("SELECT * FROM projekt_projekter WHERE id='$projekt_projekter'") or die('Ikke fundet prøv igen');

$row= mysql_fetch_array($projekter_SQL);

$start_day = $row["day(start)"];
echo 'HER:'.$start_day;

SÅDAN GØR JEG!!
Avatar billede dsj Nybegynder
25. august 2004 - 11:29 #9
"Normalt" er et relativt begreb.

Jeg vil stadig mene, at det letteste er at hente day-feltet ud i dit SQL-statement, som jeg beskrev det ovenfor:

SELECT DAY(ditfelt) AS start FROM tabel WHERE...

I PHP'en hiver du det så ud med:

$start_day = $row["start"];
Avatar billede jonas_j Nybegynder
25. august 2004 - 11:29 #10
ok tester det lige med SQL istedet..
Avatar billede fennec Nybegynder
25. august 2004 - 11:30 #11
MySQL har flere funktioner til "klippe" data ud af datoer. Jeg ville tage et kik i manualen. Der er også beskrevet i hvilke versioner funktionerne er understøttet fra, hvis det er nye tilføjelser.

http://dev.mysql.com/doc/mysql/en/Date_and_time_functions.html

Hvis du vil bibeholde select * kan du jo bare tilføje flere felter.

"select *, DAYOFMONTH(start) as dag from projekt_projekter WHERE id='$projekt_projekter'"
Avatar billede locturian Nybegynder
25. august 2004 - 11:30 #12
Du begrænser dig selv ved at vælge den fremgangsmåde - Hvis man hiver hele feltet ud, kan man bruge og manipulere det som man vil. Resource forbruget vil være det samme, mulighederne vil blot være flere...
Avatar billede fennec Nybegynder
25. august 2004 - 11:30 #13
ps. DAY() funktionen er først understøttet i MySQL 4.1.1.
Avatar billede jonas_j Nybegynder
25. august 2004 - 11:34 #14
hvis nu jeg skal have day, month, og year med også. Hvordan vil den så se ud ? SELECT-sætning!
Avatar billede dsj Nybegynder
25. august 2004 - 11:36 #15
SELECT DAY(ditfelt) AS d, MONTH(ditfelt) AS m, YEAR(ditfelt) AS y FROM table ...
Avatar billede dsj Nybegynder
25. august 2004 - 11:37 #16
Hvis alligevel du skal bruge alle informationerne i din dato, er det måske bedre at klare udskilningen af dato, måned og år i PHP'en.
Avatar billede jonas_j Nybegynder
25. august 2004 - 11:38 #17
hvordan ordner jeg det?
Avatar billede jonas_j Nybegynder
25. august 2004 - 11:46 #18
hmm det virker ikke når jeg bruger DAY(ditfelt), men kun med DAYOFMONTH(start);
Bruger mysql version: Client API version: 3.23.49
Avatar billede dsj Nybegynder
25. august 2004 - 11:46 #19
Hvad skal du bruge det til, skal du præsentere det på en bestemt måde, eller skal du bruge det i en form for udregninger?
Avatar billede jonas_j Nybegynder
25. august 2004 - 11:47 #20
jeg skal bruge data'ene til at indsætte i en dropdown menu hvor, day, month, year er delt op i hver sin dropdown!
Avatar billede jonas_j Nybegynder
25. august 2004 - 11:48 #21
Når så du går ind på siden skal den indlæse de gamle data i dropdown menu sådan dropdown menuerne ikke står ved day=01, month=januar, year=2004
Avatar billede fennec Nybegynder
25. august 2004 - 11:50 #22
min post "25/08-2004 11:30:44"
DAY() funktionen er først understøttet i MySQL 4.1.1.
Avatar billede jonas_j Nybegynder
25. august 2004 - 14:08 #23
Jeg løser opgaven på en anden måde, sådan her:
$projekter_SQL = mysql_query("SELECT *, EXTRACT(DAY FROM 'start') AS day
FROM projekt_projekter WHERE id='$projekt_projekter'") or die('Ikke fundet prøv igen');
   
$row= mysql_fetch_array($projekter_SQL);
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