Mailinglisten-Archive |
> ORT KATEGORIE UNTERKATEGORIE
> 15 2 23
Typischerweise sind das Zahlen und die speichert man auch so.
> ergiebt über sql-selects
>
> z.B.
> ORT KATEGORIE UNTERKATEGORIE
> WURZEN HERBERGE HOTEL
>
> Jetzt soll da einer kommen können und über ein formular alle orte auswählen können, oder alle herbergen oder alle hotels oder alle hotels in wurzen.
>
> das bedeudet, ich komme, da mit mehreren variablen auf einen select. bisher habe ich das so gemacht, dass ich über php in ifs verschiedene selects ausgewählt habe. ab 3 variablen wird das aber nervig und bei noch mehr fast unmöglich.
> mit der if funktion von mysql komme ich nicht zurecht.
Ich würde das so machen:
$sql_where = '';
if( !empty( $ort ) ) {
$sql_where = "ORT = $ort";
}
if( !empty( $kategorie ) ) {
if( !empty( $sql_where ) ) $sql_where .= ' AND ';
$sql_where = "KATEGORIE = $kategorie";
}
if( !empty( $unterkategorie ) ) {
if( !empty( $sql_where ) ) $sql_where .= ' AND ';
$sql_where = "UNTERKATEGORIE = $unterkategorie";
}
$sql = 'SELECT * FROM Tabelle WHERE ' . ( !empty( $sql_where ) ? ' WHERE ' .$sql_where : '');
Dann hast du dein SQL-Statement.
Gruss,
Michael
php::bar PHP Wiki - Listenarchive