MySQL agenda lijst output?

Status
Niet open voor verdere reacties.

sascha1

Nieuwe gebruiker
Lid geworden
12 mrt 2010
Berichten
2
Heey,

Ik probeer een agenda te in een php pagina te maken welke de gegevens uit een MySQL tabel haalt.
Deze zou er als volgt uit moeten zien:

Maart:
14: Evenement 1, Locatie 1
Beschrijving 1
23: Evenement 2, Locatie 2
Beschrijving 2
April:
4: Evenement 3, Locatie 3
Beschrijving 2
Augustus:
26: Evenement 4, Locatie 4
Beschrijving 2

Hierbij zijn de variabelen: item, user, event, location, discription, day, month, year.

'item' is auto-increment om elk evenement een eigen id te geven en 'user' is degene die het heeft geplaatst (hoeft niet in de output te komen).
'year' hoeft niet in de opmaak te komen, maar moet wel zorgen dat de jaartallen in de juiste volgorde staan.

- Als er dus voor 'month' een item staat moet eerst de maand weergegeven worden.
- Vervolgens twee columns eronder waarvan in de eerste het cijfer ('day').
- In het tweede column het 'event' en dan komma 'location'. Daaronder de beschrijving.
Ook wil ik met css de items verschillende opmaak meegeven, om het duidelijk aan te geven.

Ik hoop dat ik het hiermee duidelijk heb uitgelegd.
Ik ben nog redelijk nieuw met php en mysql, maar ben bereid te leren.

Heb werkelijk alles afgezocht op Google, maar heb niets kunnen vinden wat een beetje aansluit, behalve dat ik het waarschijnlijk met 'Group By' moet doen..

Hoop dat iemand mij hiermee kan helpen, alvast bedankt.
 
Laatst bewerkt:
Heey,

Ik probeer een agenda te in een php pagina te maken welke de gegevens uit een MySQL tabel haalt.
Deze zou er als volgt uit moeten zien:

Maart:
14: Evenement 1, Locatie 1
Beschrijving 1
23: Evenement 2, Locatie 2
Beschrijving 2
April:
4: Evenement 3, Locatie 3
Beschrijving 2
Augustus:
26: Evenement 4, Locatie 4
Beschrijving 2

Hierbij zijn de variabelen: item, user, event, location, discription, day, month, year.

'item' is auto-increment om elk evenement een eigen id te geven en 'user' is degene die het heeft geplaatst (hoeft niet in de output te komen).
'year' hoeft niet in de opmaak te komen, maar moet wel zorgen dat de jaartallen in de juiste volgorde staan.

- Als er dus voor 'month' een item staat moet eerst de maand weergegeven worden.
- Vervolgens twee columns eronder waarvan in de eerste het cijfer ('day').
- In het tweede column het 'event' en dan komma 'location'. Daaronder de beschrijving.
Ook wil ik met css de items verschillende opmaak meegeven, om het duidelijk aan te geven.

Ik hoop dat ik het hiermee duidelijk heb uitgelegd.
Ik ben nog redelijk nieuw met php en mysql, maar ben bereid te leren.

Heb werkelijk alles afgezocht op Google, maar heb niets kunnen vinden wat een beetje aansluit, behalve dat ik het waarschijnlijk met 'Group By' moet doen..

Hoop dat iemand mij hiermee kan helpen, alvast bedankt.

FILL YEAR
query = SELECT Year FROM Table GROUP BY Year ORDER BY Year
zet deze in dataset of array ofzo.
END Fill YEAR

GET MONTHS
vul array met standaard 12 maanden.
END GET MONTS

Loop Month

Loop door de array/dataset van getmonths
vul ds/array met query.

query =
SELECT day, event, location, description FROM Table
WHERE Year = @Year
AND
Month = @Month

de @year and @month zijn parameters

in mijn code gebruik ik vervolgens een foreach die ook meteen checked of er aantal rijen zijn.
foreach (DataRow itemDataRow in dsItems.Tables[0].Rows)
heb je dit niet maak dan een if statement met iets van (!array.count == 0)

voeg maand 1x toe

Item
initialiseer variabelen
voeg de item toe opgemaakt in jouw style ;)
end Item

END LOOP Month

Veel succes en ksnap het als je het niet meteen snapt want dit is best lastig.
ik heb zelf ook dit moeten maken met als extra groups en ik was alleen voor deze code 2-3 dagen bezig. zelfs 2-3 uur helemaal uitpuzzelen met loop.

Byee VRC
 
FILL YEAR
query = SELECT Year FROM Table GROUP BY Year ORDER BY Year
zet deze in dataset of array ofzo.
END Fill YEAR

GET MONTHS
vul array met standaard 12 maanden.
END GET MONTS

Loop Month

Loop door de array/dataset van getmonths
vul ds/array met query.

query =
SELECT day, event, location, description FROM Table
WHERE Year = @Year
AND
Month = @Month

de @year and @month zijn parameters

in mijn code gebruik ik vervolgens een foreach die ook meteen checked of er aantal rijen zijn.
foreach (DataRow itemDataRow in dsItems.Tables[0].Rows)
heb je dit niet maak dan een if statement met iets van (!array.count == 0)

voeg maand 1x toe

Item
initialiseer variabelen
voeg de item toe opgemaakt in jouw style ;)
end Item

END LOOP Month

Veel succes en ksnap het als je het niet meteen snapt want dit is best lastig.
ik heb zelf ook dit moeten maken met als extra groups en ik was alleen voor deze code 2-3 dagen bezig. zelfs 2-3 uur helemaal uitpuzzelen met loop.

Byee VRC

Heey VRC,

Bedankt voor je snelle reactie! :D
Ik bouw al jaren al hobbiend wat websites, maar MySQL/PHP is inderdaad iets heel anders.
Afgelopen carnavalsvakantie begonnen met wat tutorial en al snel wat database werk onder de knie gekregen. Blijft wel lastig hoor, soms..

Ik heb de afgelopen dagen geprobeerd je code te implementeren, maar ik krijg het maar niet werkend..

Zou het mogelijk zijn dat je jouw werkende code (incl PHP) hier post.
Dan kan ik deze overnemen en aanpassen. Zou echt super zijn!!

In ieder geval al heel erg bedankt voor je reactie,

Groetjes, Sascha
 
Hey Sascha,

jammer genoeg is mijn code in C# en niet in PHP :(.
ik kan het denk ik ook niet posten want ik heb dit voor een bedrijf gemaakt wat ik niet vrij kan geven + het is nog complexer omdat ik allemaal andere methodes erbij gebruik.
voor de uitleg heb ik gwn de meest makkelijk implementatie methode bedacht.

Misschien dat jij jouw php code kan laten zien zodat ik het kan bekijken en uit vissen wat je verkeerd doet ;).

Byee VRC
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan