Just nu arbetar jag delvis med en stor sökfunktion för att register. Att hämta bra förslag när folk börjar skriva i en sökruta är en utmaning, speciellt när det finns flera sorters information som ska hämtas, och ibland tillsammans. Det finns en rad funktioner i MySQL som är till stor hjälp, LIKE, REGEXP, EXISTS, subquerys med mera. INSTR är en funktion som hjälper att se om det finns ett värde i databasen som förekommer i en textsträng.
Om användaren skrivit ‘phpkodare i örebro med omnejd’, så kan du se om det finns en kategori i databasen som förekommer i textsträngen:
SELECT * FROM category WHERE INSTR('phpkodare i örebro med omnejd', category_name); |
Varefter man lägger till fler och fler sökdelare gäller det förstås att se till att en sökfunktion inte blir seg. En cache på gjorda sökningarna kan vara till stor hjälp…