Toon posts:

[JSP] Zoekfunctie probleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb de pagina: zoeken.jsp:
code:
1
2
3
4
<form name="searchForm" method="post" action="resultaat.jsp">
  <input type="text" name="name">
  <input type="submit" name="Submit" value="Zoeken">
</form>


En de pagina: resultaat.jsp
code:
1
2
3
4
<sql:query var="verzoek">
select * from games where name like ? order by id
<sql:param value="${param.name}"/>
</sql:query>


Nu mijn probleem. De pagina resultaat.jsp haalt de param.name uit de zoeken.jsp pagina en vult die bij de "?" in. Dit werkt prima, maar alleen als je de volledige naam invult. Als je bijvoorbeeld "Ninja Gaiden" invult laat ie deze mooi zien. Maar als je alleen "Ninja" invult laat ie niets zien. Als ik "%Ninja%" invul krijg ik wel "Ninja Gaiden" te zien.

Nu weet ik dat je SQL queries hebt zoals deze:
code:
1
select * from games where name like '%Ninja%'


Maar als ik mijn SQL query aanpas, zoals dit:
code:
1
2
3
4
<sql:query var="verzoek">
select * from games where name like '%?%' order by id
<sql:param value="${param.name}"/>
</sql:query>


Geeft ie nog steeds geen resultaat op "Ninja". Hoe los ik dit op?

Werkend voorbeeld is te zien op:
Zoekpagina;
Resultaat pagina;
Overzicht van games die in de database staan.

  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

En als je die percent tekentjes eens escaped?
Iets zoals
code:
1
2
3
4
sql:query var="verzoek">
select * from games where name like '\%?\%' order by id
<sql:param value="${param.name}"/>
</sql:query>

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Wellicht werkt het om value="%${param.name}%" te gebruiken als sql:param ?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 11:53

gorgi_19

Kruimeltjes zijn weer op :9

En anders de % toevoegen bij je parameter. :)
edit:

/me is weer een spuit 11 zeg.. :X

[ Voor 37% gewijzigd door gorgi_19 op 21-05-2004 10:56 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
@-FoX-: Nee, dan geeft ie helemaal niets weer. Ook niet als je zoekt op het gehele woord.

Verwijderd

Topicstarter
ACM schreef op 21 mei 2004 @ 10:55:
Wellicht werkt het om value="%${param.name}%" te gebruiken als sql:param ?
_/-\o_ Dank u wel! Ik had daar helemaal niet aan gedacht! Het werkt.
Pagina: 1