Avatar billede budda Nybegynder
20. januar 2006 - 10:44 Der er 1 løsning

Optimere min søgefunktion

Jeg har en database der ser ud som følger:
Tabel: forum -> indlægene i mit forum
id -> ID på selve indlæget
cat -> kategorien
parentid -> indlæget
title -> titlen
body -> selve indholdet

tabellen har et index over alt undtagen "body" samt et fulltext_index hvor "title" og "body" er i.

den anden tabel er:
Tabel: cats -> kategorierne
id -> ID på kategorien
parentid -> hvilken kategorien ligger under.

I min søgning er der 2 variabler
$SearchWord -> de ord man vil søge på, eks "hej lakrids"
$Placering -> placing er et id fra en dropdown menu kan enten være en over eller underkategori

PT ser min søgequery således ud:
$GetSearch = mysql_query("
    SELECT forum.*, cats.* FROM forum, cats
    WHERE MATCH (forum.body,forum.title) AGAINST ('$_POST[SearchWords]') AND
    ((forum.cat LIKE cats.id AND cats.id LIKE '$_POST[Placering]') OR
    (forum.cat LIKE cats.id AND cats.parentid LIKE '$_POST[Placering]'))
    ORDER BY forum.id DESC LIMIT 25") or die(mysql_error());

Men der er 2 problemer.
1. Syntes ikke den virker helt optimalt.
2. Ville gerne at jeg kunne hente den del af teksten hvor søgeordet var så man lige som på google kunne fremhæve det med den simpel replace funktion.

Nogen der kan hjælpe?
Avatar billede budda Nybegynder
27. januar 2006 - 15:52 #1
lukker
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