/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
søgning
Fra : Søren Gørtz Olesen


Dato : 13-06-01 18:24

Jeg har en database, med navne..!
Navnet står i et felt. eks. "Jens Jørgen Thorsen"

Sår man søger på eks. "Jørgen", "Jens Thorsen" osv.

Ved alle dise forkomster skal der helst være gevindst.

Jeg har prøv at explode quaryen med ' ' og dele den op.. men det hjælp
ikke.. hvordan har skal dette gøres bedst ?







 
 
Johan (13-06-2001)
Kommentar
Fra : Johan


Dato : 13-06-01 18:47

> Jeg har en database, med navne..!
> Navnet står i et felt. eks. "Jens Jørgen Thorsen"
>
> Sår man søger på eks. "Jørgen", "Jens Thorsen" osv.
>
> Ved alle dise forkomster skal der helst være gevindst.
>
> Jeg har prøv at explode quaryen med ' ' og dele den op.. men det hjælp
> ikke.. hvordan har skal dette gøres bedst ?

Hvor searchstring er feltet i databasen hvor "Jens Jørgen Thorsen" står
og hvor $searchstring er f.eks "Jørgen"

SELECT * FROM tabel WHERE searchstring LIKE '%$searchstring%';

mvh

Johan



Søren Gørtz Olesen (13-06-2001)
Kommentar
Fra : Søren Gørtz Olesen


Dato : 13-06-01 18:51

Undskyld jeg glemte at skrive det..

Jeg har prøvet sådan, men serveren tog op til 5-10 om et result.. det er
en 650 Mhz PIII

det er cirka 30k navne i db...

hvordan optimere man denne..


"Johan" <tcr480@ofir.dk> skrev i en meddelelse
news:9g88vs$jdj$1@news.inet.tele.dk...
> > Jeg har en database, med navne..!
> > Navnet står i et felt. eks. "Jens Jørgen Thorsen"
> >
> > Sår man søger på eks. "Jørgen", "Jens Thorsen" osv.
> >
> > Ved alle dise forkomster skal der helst være gevindst.
> >
> > Jeg har prøv at explode quaryen med ' ' og dele den op.. men det hjælp
> > ikke.. hvordan har skal dette gøres bedst ?
>
> Hvor searchstring er feltet i databasen hvor "Jens Jørgen Thorsen" står
> og hvor $searchstring er f.eks "Jørgen"
>
> SELECT * FROM tabel WHERE searchstring LIKE '%$searchstring%';
>
> mvh
>
> Johan
>
>



Hroi Sigurdsson (13-06-2001)
Kommentar
Fra : Hroi Sigurdsson


Dato : 13-06-01 19:00

"Søren Gørtz Olesen" wrote:

> det er cirka 30k navne i db...

Uha, så er "LIKE '%noget%'" ikke lige sagen (kan ikke bruge indices). Du
skal have lavet nogle indekseringstabeller i stedet eller bruge MySQL's
indbyggede tekst-søgning.

--
Hroi Sigurdsson
Fried ice cream is a reality! -- George Clinton

Søren Gørtz Olesen (13-06-2001)
Kommentar
Fra : Søren Gørtz Olesen


Dato : 13-06-01 19:07

Kan du ikk ekomme rmed et eksempel på den tekstsøgning som er indbygget

"Hroi Sigurdsson" <hroi@asdf.dk> skrev i en meddelelse
news:3B27AA0B.BFCFAE3C@asdf.dk...
> "Søren Gørtz Olesen" wrote:
>
> > det er cirka 30k navne i db...
>
> Uha, så er "LIKE '%noget%'" ikke lige sagen (kan ikke bruge indices). Du
> skal have lavet nogle indekseringstabeller i stedet eller bruge MySQL's
> indbyggede tekst-søgning.
>
> --
> Hroi Sigurdsson
> Fried ice cream is a reality! -- George Clinton



Hroi Sigurdsson (13-06-2001)
Kommentar
Fra : Hroi Sigurdsson


Dato : 13-06-01 19:51

"Søren Gørtz Olesen" wrote:

> Kan du ikk ekomme rmed et eksempel på den tekstsøgning som er indbygget

Nej, du kan læse det link jeg gav dig i en forrig besked hvor der er
eksempler og forklaringer.
<i bedste mening>
Du må også gerne følge dette link:
http://www.usenet.dk/netikette/quote.html
</i bedste mening>

--
Hroi Sigurdsson
Fried ice cream is a reality! -- George Clinton

Hroi Sigurdsson (13-06-2001)
Kommentar
Fra : Hroi Sigurdsson


Dato : 13-06-01 18:56

"Søren Gørtz Olesen" wrote:

> Jeg har en database, med navne..!
> Navnet står i et felt. eks. "Jens Jørgen Thorsen"
>
> Sår man søger på eks. "Jørgen", "Jens Thorsen" osv.
>
> Ved alle dise forkomster skal der helst være gevindst.
>
> Jeg har prøv at explode quaryen med ' ' og dele den op.. men det hjælp
> ikke.. hvordan har skal dette gøres bedst ?

Splittede du den op til noget lignende
SELECT bla, foo FROM bar WHERE quux LIKE '%Jens%' OR quux='%Thorsen%'
?

Du kan generer ovenstående udfra denne opskrift:
$SQL = "SELECT bla, foo FROM bar WHERE "

foreach($searchwords as $w) {
   $where[] = "quux LIKE '%$w%'"
}
$SQL .= implode(" OR ", $where)

En anden (og smartere) mulighed er at benytte MySQL's indbyggede
full-text søgning: http://www.mysql.com/doc/F/u/Fulltext_Search.html.

--
Hroi Sigurdsson
Fried ice cream is a reality! -- George Clinton

Søren Gørtz Olesen (13-06-2001)
Kommentar
Fra : Søren Gørtz Olesen


Dato : 13-06-01 19:00

JA, det var sådan jeg gør... men det tager meget labgt tid desvære..
"Hroi Sigurdsson" <hroi@asdf.dk> skrev i en meddelelse
news:3B27A94C.E07899C@asdf.dk...
> "Søren Gørtz Olesen" wrote:
>
> > Jeg har en database, med navne..!
> > Navnet står i et felt. eks. "Jens Jørgen Thorsen"
> >
> > Sår man søger på eks. "Jørgen", "Jens Thorsen" osv.
> >
> > Ved alle dise forkomster skal der helst være gevindst.
> >
> > Jeg har prøv at explode quaryen med ' ' og dele den op.. men det hjælp
> > ikke.. hvordan har skal dette gøres bedst ?
>
> Splittede du den op til noget lignende
> SELECT bla, foo FROM bar WHERE quux LIKE '%Jens%' OR quux='%Thorsen%'
> ?
>
> Du kan generer ovenstående udfra denne opskrift:
> $SQL = "SELECT bla, foo FROM bar WHERE "
>
> foreach($searchwords as $w) {
> $where[] = "quux LIKE '%$w%'"
> }
> $SQL .= implode(" OR ", $where)
>
> En anden (og smartere) mulighed er at benytte MySQL's indbyggede
> full-text søgning: http://www.mysql.com/doc/F/u/Fulltext_Search.html.
>
> --
> Hroi Sigurdsson
> Fried ice cream is a reality! -- George Clinton



Søg
Reklame
Statistik
Spørgsmål : 177507
Tips : 31968
Nyheder : 719565
Indlæg : 6408569
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste