vraag bij zoekfunctie

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Rick vd molen

rick vd molen

16/06/2010 22:30:05
Quote Anchor link
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.
 
PHP hulp

PHP hulp

22/11/2024 06:56:57
 
Joren de Wit

Joren de Wit

16/06/2010 22:50:57
Quote Anchor link
Ik vermoed dat je nu LIKE gebruikt in je query? Als je alleen volledige matches terug wilt geven, zou je gewoon de = moeten gebruiken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
WHERE naam = 'Piet de Boer'
 
Rick vd molen

rick vd molen

17/06/2010 07:40:45
Quote Anchor link
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'
 
Joren de Wit

Joren de Wit

17/06/2010 08:51:54
Quote Anchor link
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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$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.
 
Rick vd molen

rick vd molen

17/06/2010 13:31:14
Quote Anchor link
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!
 
TJVB tvb

TJVB tvb

17/06/2010 14:26:49
Quote Anchor link
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.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.