Avatar billede heyn Nybegynder
01. april 2015 - 06:53 Der er 4 kommentarer og
1 løsning

Søg på substring i 2 kolonner

Hej Eksperter

Min tabel indeholder 2 kolonner 'fornavne' og 'efternavn'

Jeg søger på alle poster hvor søgestrengen enten er en del af fornavn el. efternavn.

Følgende fungerer fint:
$statement = "SELECT * FROM personer WHERE fornavne LIKE '%".$_POST["searchStr"]."%' OR efternavn LIKE '%".$_POST["searchStr"]."%';";

Jeg ønsker at ændre mit statement således søgestrengen godt kan være en del af slutningen på fornavne og starten af efternavn.

Altså således at hvis $_POST["searchStr"] = "ian He"
så vil også posten med fornavne = 'Christian' og efternavn = 'Heyn' også blive valgt.

Kender nogen løsningen på det problem?

Venligst Cnristian
Avatar billede heyn Nybegynder
01. april 2015 - 06:58 #1
Lige nu er det således at hvis man søger på 'Bo N' bliver kun Bo Nissen valgt hvis tabellen indeholder

Fornavn            Efternavn
-------            ---------
Bo Nissen          Knudsen
Bo                Nielsen

Jeg ønsker at begge skal vælges
Avatar billede vagnk Juniormester
01. april 2015 - 09:02 #2
Kan du bruge
SELECT fornavne, efternavn
FROM personer
WHERE CONCAT($fornavne, ' ', TRIM(efternavn)) LIKE '%$_POST["searchStr"]%';

Måske skal du kigge på REPLACE(result, fra, til) som kan bruges til at sætte wildcard inden i søgestrengen.
http://dev.mysql.com/doc/refman/5.6/en/string-functions.html#function_replace
Avatar billede heyn Nybegynder
03. april 2015 - 05:41 #3
Ja - Stort set som jeg ville - Jeg kendte ikke CONCAT

Smid et svar
Avatar billede vagnk Juniormester
04. april 2015 - 07:49 #4
Tak, men behold du dem bare selv.
Vagn
Avatar billede heyn Nybegynder
04. april 2015 - 09:19 #5
Ærgerligt - Det må jeg så gøre
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester