title image


Smiley Abfragen welche Felder im Form ausgefüllt wurden?
Hallo,



ich möchte mir in Abhängigkeit der ausgefüllten Felder in einem Suchformular die entsprechenden SQL-Statements zusammenbauen. Zur Zeit mache ich es wie folgt:



Ich vergebe eine Wertigkeit (in 2er Potenzen) für die Felder.



$felder_wert = 0;



if(!empty($kurz_nr))

{

$felder_wert = ($felder_wert + 1);

}



if(!empty($kurzname))

{

$felder_wert = ($felder_wert + 2);

}



if(!empty($langname))

{

$felder_wert = ($felder_wert + 4);

}



if(!empty($bemerkungen))

{

$felder_wert = ($felder_wert + 8);

}





Je nach ausgefüllten Feldern erhalte ich also einen eindeutigen Wert, diesen verarbeite ich dann mit switch:



switch ($felder_wert)

{

case 0:

//echo "Alle Suchfelder leer", "";

$SQL = "SELECT kurz_nr, kurzname, langname, bemerkungen, dateiname FROM test;";

if(!($result = mysql_query($SQL)))

{

echo "Fehler in der Query: ".mysql_error();

exit();

}

break;

case 1:

//echo "kurz_nr gesetzt", "";

$SQL = "SELECT kurz_nr, kurzname, langname, bemerkungen, dateiname FROM test "

."WHERE kurz_nr LIKE '$kurz_nr' "

."ORDER BY kurz_nr;";

//echo $SQL, "";

if(!($result = mysql_query($SQL)))

{

echo "Fehler in der Query: ".mysql_error();

exit();

}

break;

case 2:

//echo "kurzname gesetzt", "";

$SQL = "SELECT kurz_nr, kurzname, langname, bemerkungen, dateiname FROM test "

."WHERE kurzname LIKE '$kurzname' "

."ORDER BY kurz_nr;";

//echo $SQL, "";

if(!($result = mysql_query($SQL)))

{

echo "Fehler in der Query: ".mysql_error();

exit();

}

break;

.

.

.

case 6:

//echo "kurzname && langname gesetzt", "";

$SQL = "SELECT kurz_nr, kurzname, langname, bemerkungen, dateiname FROM test "

."WHERE kurzname LIKE '$kurzname' AND langname LIKE '$langname' "

."ORDER BY kurz_nr;";

if(!($result = mysql_query($SQL)))

{

echo "Fehler in der Query: ".mysql_error();

exit();

}

break;





Das funktioniert auch ganz ordentlich. Meine Frage ist nur gibt es einen einfacheren Weg? Bei vielen Feldern wird das ganze recht lang und unübersichtlich.

Wie macht ihr so was?



Gruß

Read
Gedanken sind wie Flöhe, sie springen von einem Menschen zum nächsten. Aber, sie beißen längst nicht jeden.

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: