/ 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
Finde et ord i en string
Fra : j p


Dato : 13-12-10 17:13

Jeg har en kode hvor jeg henter keywords fra et foto og gemmer
dem i en mysql db.

Nu vil jeg gerne hente de fotos som har et bestemt keyword frem
via mysql

select * from tabel where keywords.....indeholder ordet "Bil"
f.eks.

Hvordan gør man det.... like %bil% er ikke løsningen, for så
får jeg også fotos med søgeordet "Bilmesse" og jeg vil kun have
dem med ordet exact "Bil"

mvh

Don

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Krabsen (13-12-2010)
Kommentar
Fra : Krabsen


Dato : 13-12-10 18:05

Den 13-12-2010 17:12, j p skrev:
> Jeg har en kode hvor jeg henter keywords fra et foto og gemmer
> dem i en mysql db.
>
> Nu vil jeg gerne hente de fotos som har et bestemt keyword frem
> via mysql
>
> select * from tabel where keywords.....indeholder ordet "Bil"
> f.eks.
>
> Hvordan gør man det.... like %bil% er ikke løsningen, for så
> får jeg også fotos med søgeordet "Bilmesse" og jeg vil kun have
> dem med ordet exact "Bil"


where ((keywords like '% bil %') OR (Like '% bil.'));


Martin Larsen (13-12-2010)
Kommentar
Fra : Martin Larsen


Dato : 13-12-10 20:14

Krabsen wrote:

> where ((keywords like '% bil %') OR (Like '% bil.'));

Det er heller ikke godt nok. Finder fx ikke "bil!" og alle mulige andre
kombinationer.

Du skal søge med et regulært udtryk og operatoren for dette hedder rlike
eller regexp. De er synonymer.

SELECT * FROM tabel WHERE keywords RLIKE "[[:<:]]bil[[:>:]]"

De to obskure konstruktioner [[:<:]] og [[:>:]] matcher *ordgrænser*,
dvs. ordet "bil" uden andre bogstaver ved siden af.

Martin

j p (13-12-2010)
Kommentar
Fra : j p


Dato : 13-12-10 23:47

Martin Larsen wrote in dk.edb.internet.webdesign.serverside.php:
> Krabsen wrote:
>
> > where ((keywords like '% bil %') OR (Like '% bil.'));
>
> Det er heller ikke godt nok. Finder fx ikke "bil!" og alle mulige andre
> kombinationer.
>
> Du skal søge med et regulært udtryk og operatoren for dette hedder rlike
> eller regexp. De er synonymer.
>
> SELECT * FROM tabel WHERE keywords RLIKE "[[:<:]]bil[[:>:]]"
>
> De to obskure konstruktioner [[:<:]] og [[:>:]] matcher *ordgrænser*,
> dvs. ordet "bil" uden andre bogstaver ved siden af.
>
> Martin

Super, det virker fint, det havde jeg ikke selv fundet ud af, takker mange
gange.

mvh

Don

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Martin Larsen (14-12-2010)
Kommentar
Fra : Martin Larsen


Dato : 14-12-10 00:20

j p wrote:

> Super, det virker fint, det havde jeg ikke selv fundet ud af, takker mange
> gange.

Selv tak :)

Søg
Reklame
Statistik
Spørgsmål : 177429
Tips : 31962
Nyheder : 719565
Indlæg : 6407947
Brugere : 218878

Månedens bedste
Årets bedste
Sidste års bedste