Hallo allemaal,

Ik ben nieuw op dit forum en ook in de wereld van PHP en mySQL.
Ik ben dus een "groentje"...

Ik heb een leuk lopende site gemaakt waar ik momenteel een evenmenten kalender op heb staan welke ik zelf handmatig bijwerk.
Nu wil ik deze kalender automatiseren zodat de bezoekers zelf een evenement kunnen aanmaken en dat de evenementen daarna in volgorde (eerste datum eerst) worden geplaatst.
Tevens moet een evenement welke al is geweest, automatisch worden verwijderd.

Het invullen van evenement zou ik graag zien in de vorm van een standaard formulier.

Kan iemand me vertellen hoe ik te werk moet gaan? Het lieft is een beetje Jip & Janneke taal.
Mijn site is te vinden op www.oudebrommers.nl

Alvast bedankt,

André

Alvast bedankt.
Probeer hier even in de scriptlib te kijken of er iets is, als dat er is probeer je gewoon te begrijpen hoe het script werkt :)
Je moet met een database gaan werken. In die database leg je alle evenementen vast, aan de hand van het formulier op je site.
De database vult steeds automatisch de evenementenpagina, waarbij evenementen die al hebben plaatsgevonden automatisch niet meer getoond worden. Dat kun je met handige datumfuncties prima regelen.

Je moet die evenementen wel in je database bewaren, dan kun je er later altijd nog iets mee doen (historisch overzicht o.i.d.).

De eerste vraag is derhalve: draait er momenteel een database achter je site?

P.S. Leuke site met die oude brommers!
Ja, er draait momenteel een mySQL database op de site voor mijn Forum.
Het installeren hiervan is met vallen en opstaan gelukt. Het begrijpen doe ik nog niet helemaal, maar sommige dingen herken ik wel.

Kun je me een beetje op weg helpen met het creeeren van een database. Ik wil het ook best zelf uitzoeken maar ik heb even iemand nodig die me opweg helpt.

Bedankt voor het compliment over de site, ik heb er ook best een hoop werk inzitten.
Ik heb zojuist een database aangemaakt voor de kalander.
Ik wist nog hoe dit moest... :-)

Dus dat is denk ik alvast één probleem minder.
De database moet nu een tabel gaan bevatten. Die tabel moet velden hebben.

Mogelijke velden zijn (op basis van de informatie die nu op je evenementenpagina staat): > veldtype(lengte)
- ID > mediumint(8), auto_increment (dit is de primary key)
- Rubriek > varchar(50)
- Omschrijving > varchar(100)
- Waar > varchar(50)
- Datum (aanvang) > date
- Datum (einde) > date
- Tijd (aanvang) > varchar(100)
- Tijd (einde) > varchar(50)
- Organisatie > varchar(50)
- Website > varchar(50)
- Tel > varchar(50)
- Email > varchar(50)

Het is handig om een rubriek aan te maken. Hierin zet je het type evenement: beurs, toertocht, show, race, etc. Bij de omschrijving laat je dan aanvullende informatie invullen.
Datum en tijd moet je van elkaar scheiden. Het veld datum (einde) is wellicht overbodig, alle evenementen vinden waarschijnlijk op 1 dag plaats.

Zodra de tabel is aangemaakt (en die zal nog wel een wijziging ondergaan, denk ik zo) kunnen we aan de connectie en het formulier gaan beginnen.
Burdy schreef op 12.05.2008 08:47
Datum en tijd moet je van elkaar scheiden.
Natuurlijk niet! Het begin en eind van een event sla je gewoon als combinatie van datum en tijd op in een DATETIME veld, je gaat absoluut geen VARCHAR gebruiken om een tijd in op te slaan!

Verder zou ik ook maar eens gaan normaliseren, dan blijkt vanzelf hoe je datamodel eruit moet komen te zien. Ik betwijfel namelijk of je hier aan 1 tabel voldoende hebt, ik zie hier zo al andere tabellen voor bijvoorbeeld de rubriek of de organisatie...

@A. de Kruijf: deze tabel dus niet zo overnemen! Dan kom je later zeker in de problemen. Ik zou eerder zoiets denken:


events
---------
id 			INT 		PK auto_increment
event		VARCHAR
locatie		VARCHAR
begin			DATETIME
eind			DATETIME
id_rubriek 		INT
id_organisatie	INT

rubrieken
-----------
id			INT		PK auto_increment
rubriek		VARCHAR

organisaties
--------------
id			INT		PK auto_increment
organisatie		VARCHAR
website		VARCHAR
telefoon		VARCHAR
email			VARCHAR
Dus als ik het goed begrijp moet ik een tabel maken in de database?
En de optie VARCHAR wil zeggen dat het vrij invulbaar is. (verbeter me als ik het fout heb)

Ik ga nu experimenteren met een tabel en dan ga ik hem later koppelen aan een invulformulier voor op de site neem ik aan.

Klopt dit?

Is er ook ergens een overzicht van de te gebruiken commando's.
dus VARCHAR = of INT =

De tabellen welke jullie voor me hebben gemaakt zien er begrijpelijk uit.
Maar blanche, wat bedoel je met normailiseren?

Overigens bedankt zover, blij dat jullie de moeite nemen om me te helpen.


Varchar is het aantal tekens dat de door de bezoeker ingevulde variablen mag bevatten. bijvoorbeeld 200. INT is numeriek. Dit is bijvoorbeeld als je een id opslaat. Het maximale aantal tekens van INT is 255.

Snap je?
Normaliseren wil zeggen dat je ervoor zorgt dat zoveel mogelijk informatie slechts 1x in de database voorkomt. Zie deze uitleg over normaliseren.

In mijn voorbeeld heb ik de tabellen niet genormaliseerd, dat leek me - voor dit doel - niet zo heel belangrijk.
Maar in theorie heeft Blanche gelijk.

In mijn voorbeeld heb ik alleen de datum van het type 'Date' gemaakt, het veld voor de tijd heb ik als 'vrije tekst' gehouden. Het ligt er maar aan hoe strict je een en ander wilt inrichten.

Laat maar weten hoe je experimenten verlopen.

Ik probeer nu een tabel te maken en hij vraagt hoeveel velden ik wil.
Ik neem aan dat een veld een regel is dus ik ben even uitgegaan van 25.

Per regel kan ik nu de volgende dingen invullen:

Veld
Type
Lengte/waardes
Collatie
Attributen
Null
Standaardwaarde
extra
Commentaar

Tevens kan ik de volgend items nog aanvinken:
primaire sleutel
index
unieke waarde
---
volledige tekst

Stel nou dat ik regel 1, events noem. Wat vul ik dan in?


En de PK-auto increment is zeker de primare key, en dat is volgens mij een begin regel. Heb ik dat goed?

Ik had overigens een screen dump gemaakt, maar kan deze niet bij het bericht plaatsen.

Ik hoor het graag.

Reageren