Lennard schreef:Je kan beter dan van elk programma opslaan in welke categorie ze horen (a-d noem je categorie 0, e-h categorie 1, etc.), daar zet je een index op en dan is het bloedsnel.
He ja, dat ik daar nog niet aan gedacht had!
toevoeging op 10 mei 2013, 13
22:Rik schreef:$query = mysql_query("SELECT * FROM programma WHERE naam BETWEEN a AND b");
Zou volgens de MySQL site moeten werken.
Het lijkt mij raar, aangezien BETWEEN een functie is voor cijfers, maar blijkbaar werkt het ook voor tekst.
toevoeging op 10 mei 2013, 13:03:43:Je kan overigens ook iets in deze trant doen (code werkt waarschijnlijk niet out-of-the-box, zelf even aanpassen

)
[COLOR= #0000BB]<?php[/COLOR]
[COLOR= #007700]function[/COLOR] queryRange[COLOR= #007700]([/COLOR][COLOR= #0000BB]$letterOne[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$letterTwo[/COLOR][COLOR= #007700])
{[/COLOR]
[COLOR= #0000BB]$str[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #DD0000][/COLOR][COLOR= #007700];[/COLOR]
[COLOR= #0000BB]$str[/COLOR] [COLOR= #007700]+=[/COLOR] [COLOR= #DD0000]"IN("[/COLOR][COLOR= #007700];[/COLOR]
[COLOR= #0000BB]$str[/COLOR] [COLOR= #007700]+=[/COLOR] [URL="http://www.php.net/implode"]implode[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000],[/COLOR][COLOR= #007700],[/COLOR] [URL="http://www.php.net/range"]range[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$letterOne[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$letterTwo[/COLOR][COLOR= #007700]));[/COLOR]
str [COLOR= #007700]+=[/COLOR] [COLOR= #DD0000]")"[/COLOR][COLOR= #007700];[/COLOR]
[URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$str[/COLOR][COLOR= #007700];
}[/COLOR]
[COLOR= #0000BB]$query[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_query"]mysql_query[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"SELECT * FROM programma WHERE substring(naam,1,1) "[/COLOR] [COLOR= #007700].[/COLOR] queryRange[COLOR= #007700]([/COLOR][COLOR= #DD0000]a[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]p[/COLOR][COLOR= #007700]));[/COLOR]
?>
Oftewel, met substring checken op de eerste letters. Maar met grotere databases gaat hiermee je performance héél erg omlaag.
Werkt ook, maar ik ga het doen zoals Lennard het zegt, is inderdaad veel makkelijker/sneller.
toevoeging op 10 mei 2013, 13:31:13:Zo, het werkt! Bedankt!
