Hallo,
Gebruikers op mijn site kunnen dit opgeven bij zoeken:
geslacht, land, leeftijd.
Nu lukt het wel met selecteren op die eerste 2 maar op leeftijd niet echt:
Ik hoop niet dat je met leeftijd ergens daadwerkelijk de leeftijd van bedoelt. Als dat zo is mag je steeds dat veld aanpassen als er iemand jarig is geweest.
*Ik weet dat het beetje brak is met dat if($geslacht) maar ik probeer het ook makkelijker te maken*.
Dit werkt alleen niet, als ik op man selecteer selecteert ie de vrouwen er ook bij. Ook als ik nederland selecteer pakt ie de belgen er ook bij.
Dit is dus een beetje buggy.
Kunnen jullie een iets simpelere/betere manier geven (of hem verbeteren zodat ie werkt)..
Als je met OR en AND door elkaar werkt moeten er haken ( en ) omheen.
Het is niet echt mijn manier, maar okee.
<?php
if($_POST['geslacht'] == "geen")
{
$geslacht = "(geslacht = 'man' OR geslacht = 'vrouw')";
}
else
{
$geslacht = "geslacht = '".$_POST['geslacht']."'";
}
?>
Zodra ik geen voorkeur pakt hij niks.
Hij moet dan juist alles pakken welke waarde er ook is van land.
Als iemand geen voorkeur doet om alleen belgen te zien. (leeftijd/geslacht maakt niet uit) pakt ie niet.
Als ik leeftijd geen voorkeur doet, en geslacht op man dan pakt hij ook niet.
Wat doe ik fout:
if($_POST['geslacht'] == "geen")
{
$geslacht = "(geslacht = 'man' OR geslacht = 'vrouw') AND";
}
else
{
$geslacht = "geslacht = '".$_POST['geslacht']."' AND";
}
if($_POST['land'] == "geen")
{
$land = " (land = 'nl' OR land = 'be') AND";
}
else
{
$land = " land = '".$_POST['land']."' AND";
}
$geslacht = "";
if($_POST['geslacht'] != "geen")
{
$geslacht = "geslacht = '".$_POST['geslacht']."' AND";
}
$land = "";
if($_POST['land'] != "geen")
{
$land = "land = '".$_POST['land']."' AND";
}
$sLid = mysql_query("SELECT * FROM leden WHERE ".$geslacht." ".$land." leeftijd BETWEEN '".$min."' AND '".$max."'") or die(mysql_error());
if(mysql_num_rows($sLid) == 0)
{
echo "Er zijn geen zoekresultaten voor jouw opgave.";
}
else
{
Gebruik een juiste foutafhandeling:
<?php
$sQuery = "SELECT * FROM leden";
$sResult = mysql_query($sQuery);
if($sResult) {
// doe ermee wat je wilt.
} else {
echo mysql_error().' in query: '.$sQuery;
}
?>