07. september 2010 - 22:25
Der er
19 kommentarer og 1 løsning
Printe ordrer månedsvis
Jeg har følgende mysql-forsp hvor jeg henter ordrer ud. Men jeg kunne godt tænke mig at resultaterne blev adskilt månedsvis. Dvs. September 2009, oktober 2009 ... osv... $forsp1 = mysql_query("SELECT id, ordrenummer, navn, adresse, postnummer, bynavn, dato FROM MU10salg WHERE user_id = $user_id ORDER BY dato DESC"); while($forsp2 = mysql_fetch_row($forsp1)) { Her printes resultaterne ud. }
Annonceindlæg fra Infor
08. september 2010 - 07:07
#1
$month = ""; while($forsp2 = mysql_fetch_row($forsp1)) { if($month != date('m', $forsp2['dato'])){ $month = date('m', $forsp2['dato']); echo "Ny måned: $month"; } } det er så forudsat at dit dato-felt er DATE eller DATETIME
08. september 2010 - 13:08
#2
Kan du ikke lave en GROUP BY MONTH(dato) og så udskrive dem ? Så vil du have dem samlet måned for måned.
10. september 2010 - 02:52
#3
Hej splazz Det ser ikke ud til at virke. Den printer blot Ny måned 01 en gang på trods af at der er poster fra flere måneder. Jakobo, du har sikkert ret. Men kan du vise mig mig hvordan? K
10. september 2010 - 03:05
#4
btw, jeg bruger DATETIME i databasen.
10. september 2010 - 08:22
#5
fetch_row, henter jo kun én række, prøv med fetch_assoc, eller fetch_array :)
10. september 2010 - 08:27
#6
mysql_fetch_assoc / row / array gør det samme. Det er bare resultatet som er forskelligt.
10. september 2010 - 09:21
#7
Det virker stadig ikke: Min kode ser sådan ud: $samletbeloeb = 0; $samletbeloebtext = ""; $user_id = $_SESSION['user_id']; $month = ""; db_con(); $forsp1 = mysql_query("SELECT id, ordrenummer, navn, adresse, postnummer, bynavn, telefon, email, beloeb, buyers_accept, kommentarer, dato, buyers_accept_rating, oprindelig_beloeb FROM MU10_salg WHERE user_id = $user_id ORDER BY dato DESC "); while($forsp2 = mysql_fetch_array($forsp1)) { if($month != date('m', $forsp2['dato'])) { $month = date('m', $forsp2['dato']); echo "Ny måned: $month"; } //Printer noget mere }
10. september 2010 - 10:56
#8
Virker din sql, hvis du tester den direkte i phpmyadmin ?
10. september 2010 - 11:02
#9
Altså, ja, den henter alt det ud den skal. Men øverst står der blot "Ny måned: 01" - hvorefter den printer posterne ud.
10. september 2010 - 15:12
#10
-> #6 - mente bestemt den kun hentede den første række... :) #1 burde virke... hvad skriver den hvis du udskriver date('m', $forsp2['dato']); for hver række?
10. september 2010 - 16:05
#11
Hvis jeg udskriver date('m', $forsp2['dato']); for hver række skriver den bare 01 hver gang. - og det samme hvis jeg skriver echo date('m', "2010-09-09"); - og hvis jeg skriver date('Y', "2010-09-09"); skriver den 1970 hver gang. ?
10. september 2010 - 21:32
#12
hvad hvis du skriver Y i mit eksempel? skriver den så osse 1970 hver gang? for så indeholder $forsp2['dato'] nok ikke et gyldigt timestamp...
11. september 2010 - 09:57
#13
Ja, det gør den. Hvordan sikrer jeg at det er er gyldigt timestamp? Er der ikke en funktion der bare kan finde ud af at printe måneden og året ud, når den får en dato som streng?
11. september 2010 - 10:01
#14
Kan det have noget at gøre med om php-filen er gemt som utf eller?
11. september 2010 - 21:51
#15
nej, hvordan smider du datoen i databasen, når du gemmer?
12. september 2010 - 00:41
#16
Jeg bruger funktionen date("Y-m-d H:i:s"); som jeg så gemmer i databasen med - jeg har også prøvet bare at indtaste en dato manuelt i phpmyadmin. I databasen har "dato" datatypen DATETIME og kollation og attributter står tomme.
12. september 2010 - 00:52
#17
sorry, det er mig der sover.
prøv med:
$month = ""; while($forsp2 = mysql_fetch_row($forsp1)) { if($month != date('m', strtotime($forsp2['dato']))){ $month = date('m', strtotime($forsp2['dato'])); echo "Ny måned: $month"; } }
12. september 2010 - 02:07
#18
Nu lykkedes det sq! Yes, tak. Dog skulle jeg bruge mysql_fetch_array i stedet for mysql_fetch_row. Takker... Dropper du et svar?
12. september 2010 - 08:24
#19
ja, når du bruger fetch_row kommer resultaterne ikke med associative indexes, kun nummeriske :) svar :)
12. september 2010 - 13:19
#20
tfp :)
Vi tilbyder markedets bedste kurser inden for webudvikling