Hallo,
ik ben hier nieuw op het phphulp en niet echt heel erg thuis in php!

Ik ben bezig met een zoekfunctie op mijn website. Nu heb ik een zoekfunctie met verschillende tekstvelden onder elkaar.
Als voorbeeld Woonplaats en Hobbies. Wanneer je in het tekstveld woonplaats bijvoorbeeld den haag invult, krijg je als resultaat alle mensen die als woonplaats Den Haag hebben.

Dit heb ik gedaan met een query als:
$getNum = mysql_query("select user_id from profiel where actief=1 and (plaats like '%$detail_woonplaats%' and hobbies like '%$detail_hobbies%'") or die(mysql_error());
Dit werkt perfect.

Nu is het de bedoeling dat ik deze zoekfunctie ga omzetten met checkboxen onder elkaar en nog maar 1 tekstveld.
Nu moet ik dus in dat ene tekstveld (met naam zoek bv) bijvoorbeeld Den Haag invullen en een checkbox Woonplaats aanvinken om in de database op het veld woonplaats te zoeken.

Dus wanneer een checkbox woonplaats is aangevinkt eigenlijk een query uitvoeren als: select user_id from profiel where zoek like '$woonplaats';

Maar ik weet eigenlijk niet goed waar ik moet beginnen.
Het kijken of een checkbox is aangevinkt lukt me wel, dat vind ik niet moeilijk, maar ik snap niet goed hoe ik dan met de checkboxen kan zoeken.
Ik hoop dat ik duidelijk ben en dat jullie een idee hebben?!
Alvast bedankt in ieder geval!
Groetjes Tessa
gebruik if en else. bijv

<?
//checkbox1 is woonplaats
if($_POST["checkbox1"] != "")
{
$query = "selecteer woonplaats";
}
//box 2 is straat
elseif($_POST["checkbox2"] != "")
{
$query = "selecteer straat";
}
//nix is aangevinkt
{
echo "je hebt niks aangevinkt";
}
?>
zoiets...

succes,
Johan
jaa ik denk dat dit wel gaat werken!
Ik had helemaal niet gedacht aan elseif... lekker slim!
Ik ga het morgen gelijk proberen, bedankt in ieder geval!
Groetjes Tessa
Ik heb het script even uitgeprobeerd en het komt er dan zo uit te zien:


<?
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());
}

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());
} ?>

Deze code werkt nu goed, ik haal de resultaten op en deze worden goed weergegeven,
mijn probleem is nu alleen dat wanneer je 2 checkboxen aanvinkt, hier niet op wordt gezocht.
Dit ligt aan de query denk ik, omdat er nu alleen naar 1 checkbox gekeken wordt.
Hoe zou ik dit verder kunnen oplossen?
Ik heb dus 1 tekstveld en als je daar iets invult en 2 checkboxen aanvinkt, dan moet er dus gezocht worden op de invoer van het tekstveld in allebei de checkboxen. Dus wanneer ik Den Haag invul in het tekstveld en de checkboxen plaats en hobbies aanvink, er dus gekeken moet worden naar mensen die in den haag wonen en bijvoorbeeld als hobbie ado den haag ingevuld hebben...
Hebben jullie misschien nog een idee??
en dat werkt?
Sorry, het ging even mis met het posten, ik drukte veel te snel op bericht plaatsen:)!Ik heb het bericht boven even aangepast.
Het lukt dus nog niet helemaal, apart zoeken lukt al wel, maar 2 checkboxen tegelijk werkt niet.
Heb je misschien nog een ideetje?

Reageren