D3 les 06

Microsoft Access versus MySQL

Microsoft Access Werkwijze

We openen Access en geven het bestand een naam en bestemming. Klik op maken.

access-000110.png

We krijgen de mogelijkheid om onmiddellijk gegevens in te voeren. Dit is voor de huis- en tuingebruikers. Wij klikken op de tekendriehoek en potlood...

We vullen nu de gegevens in voor de velden. In Access kan je hier al verfijnen. Doe hetzelfde.

Voor de gemeente kiezen we een numeriek veld en geen tekstveld. We gaan dit namelijk later koppelen aan een tabel met de postnummers.

Klik nu op het roosterfiguurtje links en je kunt gegevens inputten. Nu sta je in Access even ver als in de mySQL database. Welk nut heeft het om dit op je computer te herhalen? Als straks de SQL complex wordt kan je hier de syntax halen en die dan online gebruiken. Zo hoef je geen cursus SQL te volgen. Access doet dit (bijna) automatisch.

We gaan als tweede item ook leren om gegevens te importeren. dit maakt deel uit van de het database project dat we gaan uitwerken. Het is een Excel bestand dat we gaan importeren.

Ik heb het van de BPost site gehaald. De gemeenten en hun postnummers, alfabetisch geranschikt. Voeg ook een kolom toe met gemeentenr als kolomkop. Geef het een nummering en importeer.

We gaan het in een nieuwe tabel steken.

De eerste rij bevat inderdaad de kolomkoppen

Bij de primaire sleutel kiezen we voor ze zelf te bepalen. Daarom hadden we het gemeentenr aangemaakt.

We kiezen onmiddellijk een gepaste naam. Kies dezelfde naam als je straks wil vlot kopiëren en plakken van de php codes.

Zo de tabel werd geïmporteerd. Onze records in de tabel adressen verwijzen nog naar gemeentenr 1 en 2. Zoek desnoods Lokeren en Zele op als alternatief.

PHP scripting

Webform MySQL Views

De resultaten weergeven van onze formulier input is bij Drupal standaard nogal pover. Wat er ontbreekt is de mogelijkheid om de zelfgemaakte velden uit het formulier te gebruiken in de view. Drupal is fantastisch wat webforms betreft, maar om nu de velden ook aan anderen te tonen... hou je vast aan de takken van de bomen.

Eerst installeren we Webform Mysql Views:

Via inhoud => Webforms => MySQLViews halen we onze webform binnen als view.

Onze view beschikt echter nog niet over de mogelijkheid om de velden, die door ons werden gemaakt, te integreren in onze view. Dze 'man-made' velden zijn niet bekend bij Drupal... We moeten daarvoor de module DATA installeren.

Deze Data module heeft nog enkele andere nodig; Entity API en Schema. Deze laatste controleert bvb. van alles in de database. Zo kijkt Schema of de datum velden wel goed ingesteld staan. Iets wat Webform nogal eens slordig doet...

Als je alles hebt geïnstalleerd, dan kan je via structuur => Datatables, de tabellen de 'man-made' tabellen importeren:

Je ziet dat ze de naam weestabellen hebben, ocharme... Merk ook al eens het protest van schema op voor het datumtype. We negeren dit op dit ogenblik. Dit komt voornamelijk omdat er telkens als je webform gebruikt er ook een datumstempel meekomt. Deze staat op z'n Amerikaans en past niet in ons datum schema.

Je ziet dat er een Overzicht (=view) aangemaakt werd. Probeer eens...

Je kunt ook een eigen view maken, maar gebruik maken van de kant en klare view is natuurlijk makkelijker. Bewerk die volgens je eigen voorkeur... een voorbeeldje:

met als resultaat:

Je ziet dat er een verbinding gemaakt werd met een andere tabel. Die met postnummers en de provincies. Dit stelt je in staat om te filteren en te sorteren. ik heb een nieuwe tabel gemaakt en de gegevens geïmporteerd:

Daarna moet ik een relatie leggen:

nu kan ik dit in de view verwerken. Door de relatie kan ik aan de nieuwe tabel met postnummers.

Ik kan er ook op filteren:

Je stelt die zo in:

Je ziet dat ook een link naar de afbeelding verschijnt. Dit zie je niet standaard. Je krijgt als je het fotoveld toevoegt een nummer van de afbeelding te zien. Je moet echter de waarde gaan halen van dit veld en niet z'on stom nummer.

Zo voeg je die waarde toe:

en instellen:

Zo krijg je een overzicht van de gegevens die werden ingebracht via webform. Als je zelf een view wilt maken dan moet je nog even verder kijken..

Facultatief:

Als je zelf een view maakt en geen gebruik maakt van de view van mysqlviews dan moet je eerst maken dat deze view een link vormt met onze tabel. Klik op 'bewerken'.

en stel de join in. Deze term is zeer gebruikelijk in databastermen (vb ook in Access). Later als we een les besteden aan databases zal dit zeker aan bod komen..

Goed kijken dat je de juiste join legt...

Nu gaan we onze view aanpassen. We moeten een relatie leggen. Je view moet nu duidelijk gemaakt worden dat al onze voorbereidingen ook voor hem bereikbaar zijn. Hieronder zie je het resultaat.

Ga naar relaties en selcteer je webform views...

stel de relatie in.

Vanaf nu verschijnen de zelfgemaakte velden als optie in de view. Klik op toevoegen en kies de velden die je wenst:

Een mogelijke view:

Een mogelijk resultaat....

Via rearrange kan je de volgorde van de velden bepalen, zoals altijd natuurlijk.

We hebben in dit thema de installatie, het maken,  gebruiken én het tonen van een formulier gezien. Tenslotte kan je nog Captcha op je formulier instellen. Geen slecht idee als je formulier open staat voor iedereen. Vergeet niet het vinkje aan te zetten zoals hieronder getoond. Dan pas komen de webform mogelijkheden zichtbaar. Wil je het ene formulier beschermen en het andere niet... geen probleem. Kijk in de broncode welke ID het formulier heeft en pas zo je instellingen aan. Hier heeft mijn formulier de ID; client_webform_10

Mijn manier is de volgende: zet het vinkje aan en ga naar het formulier in de front. Je zult daar een captcha-instelling vinden. Zet deze aan. Dan komt automatisch het formulier bij de instellingen (=bij de admin pagina's) te staan.

MySQL

MySQL is samen met Microsoft Access (hun site versie) een database (=gegevensbestand) programma.

MySQL is open source en wordt dan ook veel meer gebruikt (95%) dan de betalende Access versie. Deze laatste kan je herkennen aan de aspx extensie in plaats van de php. In dit gedeelte gaan we zeer beknopt te werk om u de basisprincipes uit te leggen. In dit gedeelte gaan we ook dezelfde handeling uitvoeren in Access. via hun interface zullen w eeen speigelbeeld maken van de gegevens op onze site. Zo kunnen we gebruik maken van de SQL code gegenereerd door Access en kunnen we die gebruiken on-line. Je hoeft dan geen cursus SQL te volgen...