Avatar billede -kenner- Nybegynder
12. januar 2008 - 17:22 Der er 23 kommentarer og
1 løsning

Hente data ud fra MySQL, som er gemt i f.eks. Marts og Oktober

Hej Eksperter,

Jeg vil gerne hente data ud fra min MySQl, som er gemt i nogle bestemte måneder, samt vise en liste over hvilke måneder der er gemt data i. Hvordan gør jeg lige det?

Min kode til at hente data ser sådan ud:

$result = mysql_query("SELECT Ref_ID, COUNT(*) AS antal FROM brugere WHERE Ref_ID != '' and Aktiv='1' GROUP BY Ref_ID ORDER BY antal DESC") or die(mysql_error());
Avatar billede nielle Nybegynder
12. januar 2008 - 19:30 #1
Hvad hedder dit datofelt og hvilken datatype er det lavet med?
Avatar billede -kenner- Nybegynder
12. januar 2008 - 20:06 #2
Oprettet_ID , det er min bruger tabel som hedder "brugere", så tekst og tal
Avatar billede nielle Nybegynder
12. januar 2008 - 20:27 #3
Er Oprettet_ID et datofelt, eller hvad?
Avatar billede dkfire Nybegynder
12. januar 2008 - 20:29 #4
Hvordan ser din tabel brugere ud ??
Har du et felt som indikere hvornår den enkelte række er blevet gemt ???
Avatar billede nielle Nybegynder
12. januar 2008 - 20:32 #5
Databasen holder ikke selv styr på hvornår en række er blevet tilføget til en tabel. Derfor er du selv nødt til at have et datafelt i tabellen som angiver hvornår ækken blev tilføjet.
Avatar billede -kenner- Nybegynder
12. januar 2008 - 20:32 #6
ja, Oprettet_Tid :)
Avatar billede nielle Nybegynder
12. januar 2008 - 20:38 #7
Ok, du skrev så bare 'id' i stedet for 'tid' første gang - så jeg blev en smule forvirret. Men du har stadig ikke fortalt hvad det er for en data-type dette felt er blevet oprettet med?
Avatar billede -kenner- Nybegynder
12. januar 2008 - 20:44 #8
Hvad mener du med datatype?
Avatar billede -kenner- Nybegynder
12. januar 2008 - 20:45 #9
int og varchar? tid ligger som varchar..
Avatar billede nielle Nybegynder
12. januar 2008 - 20:47 #10
Tiden bør konverteres til en datetime hvis du har mulighed for det?
Avatar billede -kenner- Nybegynder
12. januar 2008 - 20:58 #11
det er timestamp, så det skal vel være time?
Avatar billede nielle Nybegynder
12. januar 2008 - 21:04 #12
datetime inkludere dato og tispunkt kombineret i samme felt.
Avatar billede -kenner- Nybegynder
12. januar 2008 - 21:09 #13
okay, men når det så er gjort?
Avatar billede nielle Nybegynder
12. januar 2008 - 21:18 #14
Når det er gjort så kan du beruge month() finktionen:

SELECT *
FROM dinTabel
WHERE month(ditDateTimeFelt) = 3
  OR month(ditDateTimeFelt) = 10
Avatar billede -kenner- Nybegynder
13. januar 2008 - 01:22 #15
når det ligger som datetime, så er det jo ikke et timestamp længere?
Avatar billede nielle Nybegynder
13. januar 2008 - 09:07 #16
Kan du forklare lidt mere hvad problemet er? Har du ikke nrug for at den er gemt som en dato og et tidspunkt?
Avatar billede nielle Nybegynder
13. januar 2008 - 09:22 #17
I MySQL sammenhæng ser et timestamp sådan her ud:

2007-11-30 10:30:19

Og de er lige til at bruge som de er.

Jeg gætter dog på at du i virkeligheden snakker om et timestamp fra PHP, og de ser sådan her ud:

1196440219

Med mindre at du vitterligt har brug for PHP-versionen i din kode, ville jeg selv overveje at skifte til at bruge MySQL versionen. Det er jo den der svarer mest til det du ønsker at kunne gøre i følge dette spørgsmål.

Du kan dog fortsætte med den nuværende version, men så belaster du faktisk databasen mere end du ellers havde behøvet:

SELECT *
FROM dinTabel
WHERE month( FROM_UNIXTIME( ditTimestampFelt ) ) = 3
  OR month( FROM_UNIXTIME( ditTimestampFelt ) ) = 10
Avatar billede -kenner- Nybegynder
13. januar 2008 - 12:52 #18
man kan da ikke formattere MySQL-versionen med date()?
Avatar billede nielle Nybegynder
13. januar 2008 - 15:16 #19
Det er vel heller ikke nødvendigt? Man har den jo allerede på yyyy-mm-dd hh:MM:ss format, så det ar blot at bruge de rigtige substr()-kald.
Avatar billede dkfire Nybegynder
13. januar 2008 - 15:23 #20
Og med mysql funktionen DATE_FORMAT kan du formattere datoen du henter.
Avatar billede nielle Nybegynder
21. januar 2008 - 18:33 #21
Er du kommet vidre med denne her?
Avatar billede -kenner- Nybegynder
22. januar 2008 - 17:55 #22
Ja, jeg har fået det til at fungere, så smid et svar
Avatar billede nielle Nybegynder
22. januar 2008 - 18:29 #23
Svar :^)
Avatar billede nielle Nybegynder
29. januar 2008 - 16:58 #24
Så mangler du bare at acceptere mit svar :^)
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