Andre Dittmar: platzhalter in mysql abfrage

Beitrag lesen

Hallo Thomas,

Das soll nur mal eine Art Lösungsansatz sein, ist also ungetestet, aber so in der Richtung sollte es funktionieren.
Du kannst Dir Dein SQL-Query dynamisch zusammenbauen in dem Du zuerst checkst ob der Parameter existiert, also als Auswahlkriterium in Frage kommt. Sollte dies der Fall sein wird der Teilstring einem Array hinzugefügt:

//Parameterübergabe:

if( isset($_POST["gender"]) ) $gender = $_POST["gender"];
else $gender = "";

//Check ob Variable Wert enthält:

if( isset($gender) )
{
  $sql_arr[] = "gender='" . $gender . "'";
}
usw... für alle Parameter

// Ist das das Array grösser als 1 wird der Inhalt per implode()
// durch AND verkettet, ansonsten gibt es halt nur einen Wert...

if( sizeof($sql_arr) > 1 )
{
  $sql_part = implode(" AND ", $sql_arr);
}
else
{
  $sql_part = $sql_arr[0];
}

// Danach wird der Teilstring an das SQL-Query drangehängt und
// entsprechend weiterverarbeitet...

$sql = "SELECT * FROM kunde WHERE . sql_part;

Vielleicht bringt Dich das ein wenig weiter?
Gruss AndreD