Avatar billede phpwiz Nybegynder
14. juni 2004 - 20:08 Der er 6 kommentarer og
1 løsning

match against

Hvordan laver jeg en MATCH AGAINST på en tabel, med flere søgeord, eks : spider man

så skal den søge på de felter hvor både spider og man indgår, og den skal også finde spiderman
Avatar billede phpwiz Nybegynder
14. juni 2004 - 20:09 #1
jeg har ikke noget problem med at få de rigtige resultater hvis jeg bruger søgeordet : spiderman

men hvis jeg splitter ordet op i to så kommer problemerne
Avatar billede skovenborg Nybegynder
14. juni 2004 - 20:31 #2
hvis det bare er en enkel kolonne du skal søge på ville det næsten være lettere med en regexp:
SELECT * FROM tabel WHERE kolonne REGEXP 'spider|man';
eller hvis der fx skal være to:
SELECT * FROM tabel WHERE kolonne REGEXP 'spider|man' OR kolonne2 REGEXP 'spider|man';
Avatar billede codebase Praktikant
14. juni 2004 - 20:43 #3
skovenborg> Kommer det samlet ord med i dit eks.? 'spiderman'

function whereQuery( $w ='', $c ='' )
{
    if ( ereg( " ", trim ( $w ) )
    {
        $words = explode(" ", trim ( $w ) );
        $where =" LOWER(". $c . ") REGEXP '";
        foreach( $words AS $word )
        {
            $where .= strtolower($word) . "|";
        }
        $where = substr( $where, 0, -1) . "' OR " . $c . "='" . trim( $w ) . "'" ;
    }
    else
    {
        $where =" LOWER(" . $c . ") ='" . strtolower($word) . "'";
    }

    return $where;
}



$Word =" spiderman spider man spideRman spideR man";

$query = "SELECT * FROM table WHERE " . whereQuery( $Word, 'felt_i_db' );
Avatar billede skovenborg Nybegynder
14. juni 2004 - 20:46 #4
tjaa, hvis man søger på spider alene kommer spiderman alligevel med ;-)
Avatar billede phpwiz Nybegynder
14. juni 2004 - 20:52 #5
jeg er kun intersseret i svar der omhandler MATCH AGAINST
Avatar billede muddi Praktikant
15. juni 2004 - 12:58 #6
Der skulle da ikke være noget problem med at søge på flere ord. Hvis ordene findes og ikke skal findes som en del af et andet ord, så er det da fint.
Ellers kan du jo kombinere det med en WHERE (felt LIKE "%Søgetekst%"), så får du også de ord der indeholder søgeordet...
Avatar billede phpwiz Nybegynder
16. juni 2004 - 18:18 #7
ingen brugbare svar, lukkes
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