webForumDet fria alternativet

hämta från senaste månaden

Databaser & SQL

6 svar · 257 visningar · startad av Virrdo

Medlem sedan okt. 2001152 inlägg
Frågan#1

Jag har stuvat om litet i min kod och har nu litet funderingar...
Jag har bla ändrat så att datumet sätts in med $datum = time();
och skrivs ut med
echo date("Y-m-d", $arrayMedData);
för att underlätta ev. formatering av datumet

men hur ska jag skriva en mysql-sats som hämtar alla poster från tex senaste månaden ?

*Tacksam för svar*

Medlem sedan dec. 200012 464 inlägg
#2

vad menar du med senaste månaden?

Alla poster som är mindre än 30 dagar gamla eller alla poster från Juni?

Medlem sedan okt. 2001152 inlägg
#3

Med "den senaste månaden", så menar jag givetvis "från den senaste månaden" och inget annat ;)
T.ex. från juni, som du själv skrev :)

Förlåt om jag var otydlig :D

Medlem sedan dec. 200012 464 inlägg
#4
select * from ogrish where month(current_date) = month(dateColumn) and year(current_date) = year(dateColumn)
Medlem sedan okt. 2001152 inlägg
#5

Får det fortfarand inte att fungera :\

Satsen jag använde, efter att tittat på din är:
SELECT * FROM text WHERE month(current_date) = month(datum) AND year(current_date) = year(datum)"

där datum är den kolumn som innehåller datumet. Är det som jag fipplar till det eller vad? (time()-formateringen för en stund sen, som finns för en post i databasen som lades in idag ser ut såhär "1023478877" om det kan vara till någon hjälp, jag använder alltså inte mysql's egna date/timestamp etc funktioner!)

(Det kanske skulle gå snabbare om du kontaktade mig på ICQ, medan du nu ändå är online (om du har ICQ dvs.)? #4781596)

Medlem sedan dec. 200012 464 inlägg
#6

om du har ICQ

Har jag inte så vitt jag vet. Är det som BSE eller?

Jag kanske har missuppfattat totalt. Vad har du för datatyp i kolumnen datum? Är det integer eftersom du stoppar in time?

Jag tycker att det är bättre att använda datetime datatypen. Det finns funktioner i Mysql för att konvertera till unix timestamp.

Medlem sedan okt. 2001152 inlägg
#7

Jag gjorde som du skrev och kollade på datetime funktionen och använder mig numera av den

För intresserade, av lösningen:
Sparar datumet med DATETIME.
hämtar datumet med UNIX_TIMESTAMP:
("SELECT unix_timestamp(datum_kolumnen) AS unix_datum FROM svammel")
Formaterar sen datumet med hjälp av date().
$datumet = date("Y-m-d / H:i", $array_som_innehåller_satsen_ovan["unix_datum"]);

Lite smidigare, än som jag gjorde tidigare kanske... :)
Tack LarsG för dina svar...

259 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)