Hallo!
Ik heb een probleem met een zoekfunctie waarbij ik gebruik wil maken van checkboxen.
Ik heb een invoerveldje (met de naam details).
Hieronder staan een aantal checkboxen (woonplaats, hobbies, specialismen, opleiding).
Wanneer ik iets invul in het veld details en daarna een checkbox aanvink,
wordt er gezocht in de database op dit aangevinkte veld.
De zoekresultaten komen onder in het scherm te staan.
Een voorbeeld:
In het invoerveld toets ik Den Haag in.
Ik vink hierbij de checkbox Woonplaats aan.
Er worden nu alleen mensen weergegeven die als woonplaats Den Haag hebben.
De code van deze zoekfunctie is:
De checkboxen los van elkaar werken gewoon, maar nu wil ik dat wanneer je in het invoerveld opnieuw Den Haag invult
en de checkboxen Woonplaats en Hobbies aanvink, de personen getoond moeten worden met als Woonplaats Den Haag en als Hobby bijvoorbeeld Ado Den Haag.
Ik neem aan dat ik iets in de query moet veranderen, maar ik weet niet zo goed waar ik moet beginnen.
Er kan dus 1 checkbox aangevinkt zijn, maar ook meerdere tegelijk en deze query's zouden dus eigenlijk gecombineerd moeten worden.
Hebben jullie heel misschien een idee hoe ik dit kan oplossen??
Alvast bedankt!
Ik heb een probleem met een zoekfunctie waarbij ik gebruik wil maken van checkboxen.
Ik heb een invoerveldje (met de naam details).
Hieronder staan een aantal checkboxen (woonplaats, hobbies, specialismen, opleiding).
Wanneer ik iets invul in het veld details en daarna een checkbox aanvink,
wordt er gezocht in de database op dit aangevinkte veld.
De zoekresultaten komen onder in het scherm te staan.
Een voorbeeld:
In het invoerveld toets ik Den Haag in.
Ik vink hierbij de checkbox Woonplaats aan.
Er worden nu alleen mensen weergegeven die als woonplaats Den Haag hebben.
De code van deze zoekfunctie is:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
| //checkbox1 is woonplaats if($_POST["plaats"] != "") { $getNum = mysql_query("select user_id from profiel where ".$myDatum." nickname like '%$zoek%'". (($telefoon_mobiel)?" and telefoon_mobiel<>''":""). (($telefoon)?" and telefoon<>''":"")." and actief=1 and plaats like '%$details%'") or die (mysql_error()); $getNewest = mysql_query("select *, from_unixtime(unix_timestamp(aanmeld_datum), '%d %M %Y @ %H:%i') as datum, geboorte_datum, ((YEAR(CURRENT_DATE)-YEAR(geboorte_datum)) - (RIGHT(CURRENT_DATE,5)<RIGHT(geboorte_datum,5))) AS age from profiel where ".$myDatum." nickname like '%$zoek%' ". (($telefoon_mobiel)?" and telefoon_mobiel<>''":""). (($telefoon)?"and telefoon<>''":"")." and actief=1 and plaats like '%$details%' order by $sort desc limit $offset, $limit") or die(mysql_error()); } //checkbox 2 is hobbies elseif ($_POST["hobbies"] != "") { $getNum = mysql_query("select user_id from profiel where ".$myDatum." nickname like '%$zoek%'". (($telefoon_mobiel)?" and telefoon_mobiel<>''":"").(($telefoon)?" and telefoon<>''":"")." and actief=1 and hobbies like '%$details%'") or die (mysql_error()); $getNewest = mysql_query("select *, from_unixtime(unix_timestamp(aanmeld_datum), '%d %M %Y @ %H:%i') as datum, geboorte_datum, ((YEAR(CURRENT_DATE) -YEAR(geboorte_datum)) - (RIGHT(CURRENT_DATE,5)<RIGHT(geboorte_datum,5))) AS age from profiel where ".$myDatum." nickname like '%$zoek%' ". (($telefoon_mobiel)?" and telefoon_mobiel<>''":"").(($telefoon)?"and telefoon<>''":"")." and actief=1 and hobbies like '%$details%' order by $sort desc limit $offset, $limit") or die(mysql_error()); } |
De checkboxen los van elkaar werken gewoon, maar nu wil ik dat wanneer je in het invoerveld opnieuw Den Haag invult
en de checkboxen Woonplaats en Hobbies aanvink, de personen getoond moeten worden met als Woonplaats Den Haag en als Hobby bijvoorbeeld Ado Den Haag.
Ik neem aan dat ik iets in de query moet veranderen, maar ik weet niet zo goed waar ik moet beginnen.
Er kan dus 1 checkbox aangevinkt zijn, maar ook meerdere tegelijk en deze query's zouden dus eigenlijk gecombineerd moeten worden.
Hebben jullie heel misschien een idee hoe ik dit kan oplossen??
Alvast bedankt!
[ Voor 15% gewijzigd door Verwijderd op 30-11-2004 16:56 . Reden: Te lange regels... ]