vraag bij zoekfunctie
Ik heb nu een zoekfunctie werkend op mijn site maar ik wil iets aanpassen.
Ik heb in de database een tabel met namen, nu wil ik dus dat als de gebruiker 'Piet de Boer' opzoekt, dat hij/zij dan ook de gehele naam moet intypen en niet bv. 'Piet de'.
ik hoop dat het helder is wat ik wil, graag een reactie.
Ik heb in de database een tabel met namen, nu wil ik dus dat als de gebruiker 'Piet de Boer' opzoekt, dat hij/zij dan ook de gehele naam moet intypen en niet bv. 'Piet de'.
ik hoop dat het helder is wat ik wil, graag een reactie.
Ik vermoed dat je nu LIKE gebruikt in je query? Als je alleen volledige matches terug wilt geven, zou je gewoon de = moeten gebruiken:
ik gebruik inderdaad LIKE in mijn query.
SELECT * FROM speler WHERE spelersnaam LIKE '%$HTTP_POST_VARS[zoekterm]%'
dit is hem, wat moet ik hier in veranderen?
dit werkt namelijk niet:
SELECT * FROM speler WHERE spelersnaam = 'Piet de Boer'
SELECT * FROM speler WHERE spelersnaam LIKE '%$HTTP_POST_VARS[zoekterm]%'
dit is hem, wat moet ik hier in veranderen?
dit werkt namelijk niet:
SELECT * FROM speler WHERE spelersnaam = 'Piet de Boer'
Om te beginnen mag je HTTP_POST_VARS helemaal vergeten, dat stamt ongveer uit het jaar nul. Al jaar en dag gebruiken we daar de superglobal $_POST voor ;-)
Verder zul je de WHERE van je query aan moeten passen en dan natuurlijk niet letterlijk mijn voorbeeld overnemen. Compleet met beveiliging tegen sql injectie:
Nog een tip: gebruik geen * in je query, geef liever alle velden op die je op wilt halen.
Verder zul je de WHERE van je query aan moeten passen en dan natuurlijk niet letterlijk mijn voorbeeld overnemen. Compleet met beveiliging tegen sql injectie:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$sql = "
SELECT *
FROM speler
WHERE spelernaam = '".mysql_real_escape_string($_POST['zoekterm'])."'
";
?>
$sql = "
SELECT *
FROM speler
WHERE spelernaam = '".mysql_real_escape_string($_POST['zoekterm'])."'
";
?>
Nog een tip: gebruik geen * in je query, geef liever alle velden op die je op wilt halen.
Haha uit het jaar nul? Wel grappig dat ik de tutorial over een zoekfunctie maken hier vandaan heb ;)
maar bedankt voor de info, het is me uiteindelijk gelukt!
de gebruiker moet nu de gehele naam in typen om een resultaat te krijgen, dat is wat ik wilde.
bedankt!
maar bedankt voor de info, het is me uiteindelijk gelukt!
de gebruiker moet nu de gehele naam in typen om een resultaat te krijgen, dat is wat ik wilde.
bedankt!
Rick, het is belangrijk om bij tutorials ook even te kijken naar de datum waarop die gemaakt is en het bijbehorend commentaar. Sommige zijn zeer verouderd en bij andere staat in het commentaar al dat het een slechte tutorial is.