$s_sports= mysql_query ( "SELECT * FROM ".$config['site']['mysql_tabel']." WHERE jaar='".$_GET['jaar']."' AND (stad='".$_GET['stad']."' and evenement='".$_GET['evenement']."' and video='".$_GET['video']."' and foto='".$_GET['foto']."') ORDER BY achternaam ASC" ) or die ( mysql_error ( ) );
?>
nu moet ik echter in mijn url elke optie aangeven,
<?php
$sql = "SELECT * FROM ".$config['site']['mysql_tabel']."";
if(!empty($_GET['stad'])){
$sql .= "WHERE stad = '".mysql_real_escape_string($_GET['stad'])."'";
}
if(!empty($_GET['jaar'])){
$sql .= "AND jaar = ".mysql_real_escape_string($_GET['jaar']);
}
// herhaal laatste if voor andere variabelen
if(!$result = mysql_query($sql)){
trigger_error(mysql_error());
}
else {
//ga verder met je code
}
?>
Zoiets, alleen is het nog niet optimaal, en moet je het voor de andere variabelen nog even verder maken.
edit: En geen * gebruiken in je query, veldnamen uitschrijven bvd.
Dat bedoelde ik ook met "niet optimaal". Had even geen zin om dat te fixen in m'n code, maar dit geeft wel een goed beeld wat het ongeveer moet worden.
Werkt niet? En zoals Jezpur al zei, en zoals ik al besefte maar niet goed genoeg verwoorde, werkt mijn versie niet als iemand stad niet heeft ingevuld, aangezien die verantwoordelijk is voor de WHERE in de query. Je kan het zelf fixen, of pm me even.
edit: En het kan helpen je query even te echo-en en kijken of hij klopt en uit te voeren in bijvoorbeeld php myadmin om te kijken of er sowiezo een resultaat is.
Als je wilt dat de gebruiker zelf kan selecteren waar hij op sorteert, kan je een dropdown menu gebruiken, die dan dus nog een GET genereert, en die ook in je SQL gooien na als je if's. Als je zelf een vaste sorteermethode wilt gebruiken kan je na je if's $sql.= "SORT BY datum"; oid doen. Je hebt je datum toch wel in DATE of DATETIME field staan?