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
Kategori
Computerworld tilbyder specialiserede kurser i database-management

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