Hallo,
Ik ben er al een tijdje mee bezig, maar kom er niet uit.
Ik heb een tabel met namen van personen, met de volgende fields:
firstName, middleName, surName
Nu wil ik zoeken naar namen, dus als ik bijvoorbeeld 'Andy d' invul, ik mijn naam 'Andy de Wit' te zien krijg.
Dat gaat alleen niet zo makkelijk, omdat 'Andy' in het field firstName staat, 'de' in het field middleName staat en 'Wit' in het field surName staat.
Op welke manier zou dit kunnen?
Dit werkt in ieder geval niet:
Ik moet dus op de een of andere manier firstName, middleName en surName bij elkaar krijgen en daar een LIKE o.i.d. van maken.PHP Code:
SELECT firstName, middleName, surName FROM table WHERE firstName LIKE '%$name%' OR middleName LIKE '%$data%' OR middleName LIKE '%$data%'
Alvast bedankt.
- 3 MySQL fields in 1 LIKE
-
17-10-2012, 11:59 #1
- Berichten
- 161
- Lid sinds
- 14 Jaar
3 MySQL fields in 1 LIKE
-
In de schijnwerper
Prijsperkwh.nl - met content & affiliate kansenWebsite te koopAffiliate link poster V1.0 - Automatisch affiliate links posten in blogs - WP pluginPHP scriptsStartpagina script V2.1 - WP plugin - Vernieuwd - Vele opties - V2.1 NU LIVEPHP scriptsPopi.nl | Linkbuilding Platform| 14.000+ MogelijkhedenLinkpartners -
17-10-2012, 12:05 #2
- Berichten
- 112
- Lid sinds
- 12 Jaar
Re: 3 MySQL fields in 1 LIKE
Probeer de concat() functie eens.
-
17-10-2012, 12:15 #3
- Berichten
- 1.031
- Lid sinds
- 17 Jaar
Re: 3 MySQL fields in 1 LIKE
Je moet dan ook rekening houden met spaties tussen de velden, maar omdat middlename niet altijd gevuld zal zijn kan je iets met TRIM oplossen (hoop ik dan)
niet getest, dus ik hoop dat Mysql het snapt:
Code:SELECT firstName, middleName, surName FROM table WHERE concat(trim(concat(firstName, ' ',middleName)),' ',surName) LIKE '%$data%'
-
17-10-2012, 12:32 #4
- Berichten
- 400
- Lid sinds
- 14 Jaar
Re: 3 MySQL fields in 1 LIKE
Je kan ook gewoon doen wat je nu hebt, alleen achter OR, WHERE neerzetten dus:
PHP Code:mysql_query(" SELECT firstName, middleName, surName FROM table WHERE firstName LIKE '%$name%' OR WHERE middleName LIKE '%$data%' OR WHERE middleName LIKE '%$data%'")
-
17-10-2012, 18:50 #5
- Berichten
- 161
- Lid sinds
- 14 Jaar
Re: 3 MySQL fields in 1 LIKE
Bedankt Jopie T.!
MySQL snapt het:)
-
18-10-2012, 12:34 #6
- Berichten
- 750
- Lid sinds
- 15 Jaar
Re: 3 MySQL fields in 1 LIKE
Ik hoop dat je deze query niet uit gaat voeren op grote tabellen waar erg veel data in staat aangezien de %term% de indexering stuk maakt van MySQL.
-
19-10-2012, 12:19 #7
- Berichten
- 161
- Lid sinds
- 14 Jaar
Re: 3 MySQL fields in 1 LIKE
Raymond, op welke manier zou ik het dan kunnen doen?
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic