Ankündigung

Einklappen
Keine Ankündigung bisher.

if abfrage in mysql?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Gast-Avatar
    Ein Gast erstellte das Thema if abfrage in mysql?.

    if abfrage in mysql?

    Ist es möglich in sql statements phpif abfragen einzubauen oder wie ist folgende problemstellung ansonsten zu lösen??

    Ich habe auf der ersten seite ein formular mit nur dropdowns!

    Dort kann mann di kriterien auswählen oder wenn einem ein kriterium egal ist es einfach auf "alle kriterien hiervon in die Suche inbeziehen" gehen

    So nun wird anhand der ausgewählten kriterien die DB durchsucht und die treffer ausgegeben .. habe ich einfach mit where gemacht!

    BSP:

    $result = mysql_query("SELECT * FROM `wohndb` WHERE `bundesland` = '".$_POST["bundesland"]."' AND `bezirk` = '".$_POST["bezirk"]."' AND `ort` = '".$_POST["ort"]."'");

    So wenn jetz talle drei dropdowns ausgefüllt werden funktioniert die sache ja aba wenn ein dropdown leergelassen wird verfälscht dass die Suche da kein Objekt mit 0 drinnen steht!

    Daher dachte ich kann ich etwas in der Art wie folgt machen:

    $result = mysql_query("SELECT * FROM `wohndb` WHERE if(isset($_POST["bundesland"])){`bundesland` = '".$_POST["bundesland"]."'}");

    Hmm geht aber nicht!

    Kann mir wer helfen??

    Mfg Amsel

  • Gast-Avatar
    Ein Gast antwortete
    jo den fehler weiss ich schon .. habs aber so gemacht dass bundesland als einziges nicht leer stehen darf!

    Aba danke!

    Mfg Amsel

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von Amsel
    danke, dass funkt jetzt auch bei mir aber irgendwie sieht das unprofessionell aus!! Kann man dass nicht verkürzen oda so?
    Nein, weil Du die Formularvariablen eh prüfen mußt. Allerdings hat Dein Script einen Fehler. Wenn $_POST["bundesland"] leer ist, gibt es einen SQL Fehler, wenn eine der anderen Variablen trotzdem angehängt werden.

    btw: bitte benutze die [ code ] Tags.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    danke, dass funkt jetzt auch bei mir aber irgendwie sieht das unprofessionell aus!! Kann man dass nicht verkürzen oda so?

    Weil bei mir siehts nun so aus!

    $sql = "SELECT * FROM `wohndb`";
    if($_POST["bundesland"] > 0){
    $sql .= " Where `bundesland` = '".$_POST["bundesland"]."'";
    }
    if(!is_numeric($_POST["bezirk"])){
    $sql .= " AND `bezirk` = '".$_POST["bezirk"]."'";
    }
    if(!is_numeric($_POST["ort"])){
    $sql .= " AND `ort` = '".$_POST["ort"]."'";
    }
    if($_POST["personen"] > 0){
    $sql .= " AND `personen` = '".$_POST["personen"]."'";
    }
    if($_POST["maxpreis"] > 0){
    $sql .= " AND `preis` < '".$_POST["maxpreis"]."'";
    }
    if($_POST["objekttyp"] > 0){
    $sql .= " AND `objekttyp` = '".$_POST["objekttyp"]."'";
    }
    if($_POST["haustier"] > 0){
    $sql .= " AND `haustier` = '".$_POST["haustier"]."'";
    }
    if($_POST["tv"] > 0){
    $sql .= " AND `tv` = '".$_POST["tv"]."'";
    }
    if($_POST["kamin"] > 0){
    $sql .= " AND `kamin` = '".$_POST["kamin"]."'";
    }
    if($_POST["waschmaschine"] > 0){
    $sql .= " AND `waschmaschine` = '".$_POST["waschmaschine"]."'";
    }
    if($_POST["spuelmaschine"] > 0){
    $sql .= " AND `spuelmaschine` = '".$_POST["spuelmaschine"]."'";
    }
    if($_POST["mikrowelle"] > 0){
    $sql .= " AND `mikrowelle` = '".$_POST["mikrowelle"]."'";
    }
    $result = mysql_query($sql);

    Mfg Amsel

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Re: if abfrage in mysql?

    Zitat von Amsel
    Daher dachte ich kann ich etwas in der Art wie folgt machen:

    $result = mysql_query("SELECT * FROM `wohndb` WHERE if(isset($_POST["bundesland"])){`bundesland` = '".$_POST["bundesland"]."'}");
    Hmm geht aber nicht!
    Nein, weil IF ein Konstrukt ist.

    Code:
    $sql = "SELECT * FROM `wohndb`";
    
    if(isset($_POST["bundesland"])) 
       $sql .= ' WHERE `bundesland` = '".$_POST["bundesland"]."'";
    
    $result = mysql_query($sql);

    Einen Kommentar schreiben:

Lädt...
X