Database zoekfuncite met Boolean Mode
Intro
Er staat al een zoekscript op phphulp en andere sites, maar deze zoeken niet goed. Als je bijvoorbeeld Bart Nienhuis intoetst, en voor en achternaam staan in een aparte kolom, komt er geen resultaat. Dat is hier helemaal anders!
Het maakt ook nog gebruik van Boolean. Hiermee kun je je zoekopdracht optimaliseren met bijvoorbeeld woorden die niet mogen voorkomen of juist wel. Dit moet u echter zelf in het formulier zetten, en zit niet ingebouwd. In een volgende versie zal ik het er in verwerken.
Database Structuur
Zo ziet de database eruit in het voorbeeld:
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
-- Tabel structuur voor tabel `bestanden`
--
CREATE TABLE IF NOT EXISTS `bestanden` (
`username` varchar(60) collate latin1_general_ci NOT NULL,
`naam` varchar(60) collate latin1_general_ci NOT NULL,
`beschrijving` varchar(6000) collate latin1_general_ci NOT NULL,
`tags` varchar(6000) collate latin1_general_ci NOT NULL,
`vak` varchar(60) collate latin1_general_ci NOT NULL,
`type` varchar(60) collate latin1_general_ci NOT NULL,
FULLTEXT KEY `index1` (`naam`,`username`,`beschrijving`,`tags`,`vak`,`type`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
--
-- Gegevens worden uitgevoerd voor tabel `bestanden`
--
INSERT INTO `bestanden` (`username`, `naam`, `beschrijving`, `tags`, `vak`, `type`) VALUES
('admin', 'Antwoorden H2', 'De wiskunde antwoorden van de methode Getal en ruimte.', 'antwoorden wiskunde methode getal en ruimte hoofdstuk 2', 'wiskunde', 'antwoorden'),
('bartje545', 'Verslag Over Broeikas effect', 'Een verslag over het broeikas effect van de aarde. Ik heb het gemaakt voor aardrijkskunde', 'verslag broeikaseffect aardrijksunde', 'aardrijkskunde', 'verslag');
Configureren
Om dit script te laten werken moet je een fulltext index aan het CHAR, VARCHAR of TEXT veld maar ingezocht moet worden toevoegen. Dit kan in PhpMyAdmin door op het knopje: http://phphulp.jorendewit.nl/images/fulltext.png achter het betreffende veld te klikken of de volgende query uitvoeren:
Hierin moet titel, inhoud veranderd worden door de betreffende veleden. (afbeelding van een phphulp tut gehaald)
De volgende regels moet u aanpassen aan uw databse:
(regel 143) moet een mysql connectie komen en een database geselecteerd worden
(regel 159) bestanden moet veranderd worden naar de tabelnaam en name,username etc. moet veranderd worden door de gewenste velden die doorzocht moeten worden
Wijzigingen
@steen: Ingesprongen
@han: heb de dubbele quotes weggehaalt
Uitleg over fulltext index
Demo en tabel toegevoegd.
Slot
Als u vragen heeft, of iets anders kwijt wild kunt u mij mailen op [email protected]
Veel plezier ermee
Voorbeeld: http://runesofmagic.co.cc/Content/phphulp/
Gesponsorde koppelingen
PHP script bestanden
Er zijn 7 reacties op 'Database zoekfuncite met boolean mode'
Om te reageren heb je een account nodig en je moet ingelogd zijn.
PHP hulp
0 seconden vanaf nu