login  Naam:   Wachtwoord: 
Registreer je!
 Forum

input met database vergelijken

Offline riagabel2 - 19/10/2012 12:58
Avatar van riagabel2Lid Goedenmiddag allemaal,

Ik ben bezig met het maken van een script die 2 arrays met elkaar kunnen vergelijken. Dit gebeurd aan de hand van een database voor de ene array, en voor de andere array word er een textarea gebruikt. Hier worden ze gescheiden van een komma (,) en in een array geplakt. De database ziet er als volgt uit:

Naam |Achternaam
----------------------------
Jan |Appel
Karel |Pepernoot
Piet |Hein
Truus |Kos

Deze wil ik uit de tabel vandaan halen en allemaal in een array stoppen. Verder zijn de namen die in de textarea ingevuld worden:

- Jan Appel
- Piet Hein
- Kees Oud
- Truus Kos

In het bovengenoemde voorbeeld is Kees Oud degene die niet in de tabel voorkomt. Deze wil ik dus laten tonen door de array's te vergelijken aan de hand van array_diff(). Dus mijn vraag is hoe ik het beste die array op kan bouwen en hoe ik uberhaupt de gegevens uit de tabel in een grote array kan zetten in plaats van in allemaal kleine array’s.

Met Vriendelijke Groet,

Mike Koopman

1 antwoord

Gesponsorde links
Offline Martijn - 19/10/2012 15:13
Avatar van Martijn Crew PHP Sowieso kun je beter SQL de vergelijking laten doen, die is daar sneller in dan PHP.

Een manier is dan je de input splits op spatie (explode) en dan doet WHERE voornaam = 'voorSpatie' and achternaam = 'naSpatie'
Die is alleen niet zo goed zodra iemand een 'v/d' ofzo heeft, want dan bestaat het uit 3 stukken.

Een andere manier, waarvan ik niet weet of het werkt, maar een idee kán zijn:
  1. SELECT voornaam, achternaam, CONCAT(voornaam, ' ', achternaam) AS fullname FROM tabelnaam HAVING fullname='hele naam'


In beide gevallen moet je dus even per naam kijken of die voor- achternaam combo in de DB voorkomt.

Algemene tip: Probeer arrays in PHP tot een minimum te houden indien er alternatieven zijn. Het is niet zo dat het persé slecht is, maar grote arrays met veel tekst zijn niet super aan snelheid
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.174s