kostenloser Webspace werbefrei: lima-city


If abfrage in MYSQL Abfrage

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    saalko

    saalko hat kostenlosen Webspace.

    Hi dank drafed, bin ich zwar weiter. (auch wenn ich etwas gebraucht habe eh ich die kleinen ' vor dem einen weggehauen habe.)

    Jedenfalls war da ja noch ne 2. Frage im Raum. Die ich beim besten willen nicht hinkriege. Und zwar, kann ich eine IF Abfrage mitten rein setzen? (2. Zeile). Der Zweck ist der, wenn beides mal, die selbe Spalte ausgewählt wird, dann soll es eine Or Abfrage, Quasi suche die Datensätze mit dem oder mit dem User. Ansonsten soll (wenn 2 verschiedene Spalten abgefragt werden), dann soll er mir eben die Datensätze raussuchen, wo der User das gemacht hat.

    $result = mysql_query("SELECT Spalten FROM datenbank WHERE ".$_POST['where1']." = '".$_POST['was1']."'
    if($_POST['where1'] = $_POST['where2']) { Or } else { AND };
    ".$_POST['where2']." = '".$_POST['was2']."'


    Danke im Vorraus. Bedanken tu ich mich erst in der nächsten Frage. Sonst sind hier bald die hälfte der Threads von mir ^^

    Beitrag zuletzt geändert: 29.7.2009 15:49:50 von saalko
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Mach das doch einfach so:
    $where1 = $_POST['where1'];
    $where2 = $_POST['where2'];
    $was1 = $_POST['was1'];
    $was2 = $_POST['was2'];
    
    if($where1 == $where2){
    	$result = mysql_query("SELECT Spalten FROM datenbank WHERE $where1 = '$was2' Or $where2 = '$was2'");
    }else{
    	$result = mysql_query("SELECT Spalten FROM datenbank WHERE $where1 = '$was2' AND $where2 = '$was2'");
    }
  4. Autor dieses Themas

    saalko

    saalko hat kostenlosen Webspace.

    naja, vielleicht soll das auch noch erweitert werden. Und irgendwann habe ich dann 30 Möglichkeiten und wenn ich dann auch nur einen Wert ändern muss, oder etwas dazuschreiben will, muss ich alle 30 Abfragen ändern.

    Von daher wäre mir eine if (oder gleich switch) Abfragemöglichkeit mittendrin wesentlich lieber.


    EDIT: Dankedammach, auf die einfachsten Schen kommt man natürlich nicht.:TIDE

    Beitrag zuletzt geändert: 29.7.2009 17:49:55 von saalko
  5. Wie währe es mit diesem Code?

    $sql1 = "SELECT spalten FROM datenbanktabelle WHERE ".$_POST['where1']." = '".$_POST['was1']."'";
    
        if(bedingung)
        $sql2 = ' AND ';
        else
        $sql2 = ' OR ';
    
    $sql3 = $_POST['where1']." = '".$_POST['was1']."';";
    
    $sql = $sql1.$sql2.$sql3;
    $result = mysql_query($sql);




    mfg drafed-map
  6. c****s

    Was du suchst ist der Ternary Operator
    Das ganze sieht dann so aus:

    "SELECT Spalten FROM datenbank WHERE " . $_POST['where1'] . " = '" . $_POST['was1'] . "'" . ($_POST['where1'] == $_POST['where2'] ) ? " OR " : " AND " . $_POST['where2'] . " = '" . $_POST['was2'] . "'"


    Der Ternary Operator ist sowas wie ein inline-if:

    Der Ausdruck
    A ? B : C
    liefert B, falls A wahr ist, und liefert C, falls A falsch ist.

    Sprich, folgende beiden Statements sind äquivalent:
    $category = ($age < 22) ? "minor" : "adult";


    if ($age < 22) $category = "minor";
    else $category = "adult";


    Beitrag zuletzt geändert: 30.7.2009 10:04:26 von census
  7. Autor dieses Themas

    saalko

    saalko hat kostenlosen Webspace.

    Ah OK, sieht zwar etwas kompliziert aus, (aber ich denke mit ner Hilfeseite klappt das.) Danke, mit drafed-map hätte es wohl auch geklappt, aber das ist auch mal ein interessanter weg.
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!