Koontz: IF-Anweisung von Variable abhängig machen

Hi,

ich habe folgende IF-Bedingung:

if ($dsz != 0 && $zeile->USER_ID < $UID)
{
    ...
}

Bei "..." kommt ein wirklich sehr langer Codeabschnitt. Desweiteren gibt es eine Variable "P". Wenn Variable "P" den Wert "B" enthält, soll die IF-Anweisung folgendermassen lauten:

if ($dsz2 != 0 && $zeile->USER_ID > $UID)

Nur wie kann man den Kopf dieser IF-Anweisung von einer anderen IF-Anweisung abhängig machen, ohne dass man gleich den gesamten Codeabschnitt zweimal im Quellcode hat?
Ich hoffe, Ihr habt mein Problem verstanden. Ich möchte lediglich die Zeile mit der IF-Bedingung von einer anderen Bedingung abhängig machen. Der restlich Code, welcher bei "..." steht, soll nicht in die Abfrage mit rein.

Gruss,
Koontz

  1. Hi,

    moin

    ich habe folgende IF-Bedingung:

    if ($dsz != 0 && $zeile->USER_ID < $UID)
    {
        ...
    }

    du brauchst die ifs doch nur verschachteln:
    if(...)
    {
     if(...)
     {

    }
    }
    oder if((...) && (...))

    ich hoffe ich habs verstanden, denn meine lösung scheintmir zu einfach

    gruß

  2. Huhu Koontz

    evtl hilft Dir ein OR

    z.B. etwas in dieser Art

    if (($dsz != 0 && $zeile->USER_ID < $UID) OR ($dsz2 != 0 && $zeile->USER_ID > $UID) )

    das wird aber schnell sehr unübersichtlich.
    Dann wäre eine Variante ein Flag zu setzen welches die Ausführung
    des Codeabschnitts steuert.

    Also z.B.

    $flag_do_it = false;

    if ($dsz != 0 && $zeile->USER_ID < $UID){
      $flag_do_it = true;
     }

    if ($dsz2 != 0 && $zeile->USER_ID > $UID) {
      $flag_do_it = true;
     }

    if($flag_do_it == true) {

    [.. der lange Code-Abschnitt ..]

    }

    Viele Grüße

    lulu

    --
    bythewaythewebsuxgoofflineandenjoytheday
  3. Hi, hab das Problem jetzt folgendermassen gelöst: Ich habe den Hauptcode in eine externe Datei geschrieben und diese dann nach Bedarf inkludiert. Das ganze sieht jetzt etwa so aus:

    if ($FORW != "B")
    {
       if ($dsz != 0 && $zeile->USER_ID > $UID)
       {
             include("inserat.inc");
       }
    }
    else
    {
       if ($dsz != 0 && $zeile->USER_ID < $UID)
       {
             include("inserat.inc");
       }
    }

  4. Hi,

    kennst du die Möglichkeit, mit Funktionen zu arbeiten ? Code kann so mehrfach verwendet werden.

    function addiere ( $a, $b ) {
      return $a + $b;
    }

    $ergebnis = addiere (  1,  2 );
    $ergebnis = addiere ( 10, 20 );