Avatar billede stroke1 Nybegynder
26. august 2003 - 18:13 Der er 11 kommentarer og
2 løsninger

søge i textarea

Hvordan søger man på bestemte ord i et felt hvor datatypen er text ??
Avatar billede Slettet bruger
26. august 2003 - 18:20 #1
SELECT kolonne FROM tabel WHERE kolonne LIKE '%due%' OR kolonne LIKE '%kuk%'
Avatar billede stroke1 Nybegynder
26. august 2003 - 18:28 #2
kan man iøvrigt lave en søgning, hvor man søger på tre forskellige felter i tabellen, men hvis brugeren så ikke har indtastet noget i det ene inputfelt i søgeboksen, men kun i de to andre, så alligevel få de poster ud. altså en slags og/eller logisk operator ???
Avatar billede Slettet bruger
26. august 2003 - 18:56 #3
Hvis det ene søgekriterie er tomt, vil det ikke tælle med hvis du bruger LIKE = '%ord%'.

Eksempelvis:

$soeg1 = "test";
$soeg2 = ""; // ingenting indtastet
$soeg3 = "foo";

SELECT col1, col2, col3 FROM tabel WHERE col1 LIKE '%$soeg1%' OR col2 LIKE '%$soeg2%' OR col3 LIKE '%$soeg3%'

$soeg2 vil være tom og der vil stå LIKE '%%' hvilket tilsvarer alt. Så er udelukkelsen af rækker altså alene baseret på $soeg1 og $soeg3
Avatar billede jakobandersen Nybegynder
26. august 2003 - 19:55 #4
LIKE _kan_ være en performance dræber så hvis man bruger mySQL  3.23.23 eller nyere kan det anbefales at lave FULL TEXT søgning. Læs evt.:

http://www.mysql.com/doc/en/Fulltext_Search.html
Avatar billede Slettet bruger
26. august 2003 - 20:18 #5
Enig.
Avatar billede stroke1 Nybegynder
26. august 2003 - 20:19 #6
hvilke problemer kan LIKE give, moonduck ????
Avatar billede stroke1 Nybegynder
26. august 2003 - 20:26 #7
nogen der kan svare på min sidste kommentar ???
Avatar billede jakobandersen Nybegynder
26. august 2003 - 20:29 #8
Som sagt er det performancemæssigt at LIKE ikke er helt ligeså hurtig som FULL TEXT search og ej heller god til rangering af søgeresultater.

Hvis manualen ikke helt er fyldesgørende forklarende om fulltext, er der en god artikel her:

http://www.zend.com/zend/tut/tutorial-ferrara1.php
Avatar billede stroke1 Nybegynder
26. august 2003 - 20:37 #9
nu har jeg lavet det med LIKE, og det kan vel bruges ??
Avatar billede Slettet bruger
26. august 2003 - 21:35 #10
Det kan du jo bedst selv afgøre. Det kommer an på størrelsen af indholdet MySQL skal søge igennem. (antal rækker og størrelsen af hver enkel række).
Avatar billede stroke1 Nybegynder
26. august 2003 - 21:46 #11
Hvad kan der ske hvis der er for mange data den skal søge igennem ??
Avatar billede Slettet bruger
26. august 2003 - 21:49 #12
Det går langsomt.
Avatar billede Slettet bruger
26. august 2003 - 21:49 #13
Men istedet for at spørge og gætte, skulle du tage og teste.
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