ulli: if in if

hallo

ich suche eine elegante und kurze lösung für folgendes problem:

ich möchte je nach übergebenen get-Parameter verschiedene if abfragen folgendermaßen aufrufen:

  • wenn debug (ohne wert) irgendwo im url string steht, dann soll
      if($sqlresult) { ...
      aufgerufen werden
  • wenn debug nicht vorkommt, dann soll
      if($sqlresult and mysql_num_rows($sqlresult) > 0) { ...
      aufgerufen werden

ob debug als parameter im url-string vorkommt wird richtig ausgelesen.

da ich nun den code nicht zweimal ala:
if ($debug) {
  if($sqlresult) {
     <<code>>
  }
}
else {
  if($sqlresult and mysql_num_rows($sqlresult) > 0) {
    <<code>>
  }
}

angeben möchte suche ich nach etwas eleganterem ...

cu
ulli

  1. Hallo ulli!

    if ($debug) {
      if($sqlresult) {
         <<code>>
      }
    }
    else {
      if($sqlresult and mysql_num_rows($sqlresult) > 0) {
        <<code>>
      }
    }

    Eleganter vielleicht nicht wirklich, aber zumindest mit einem if weniger (naja, "weniger" ;):
    $bool = $debug ? $sqlresult : $sqlresult && mysql_num_rows() > 0;
    if ($bool) {
      <<code>>
    }

    Wobei if($debug) nicht geeignet ist um festzustellen, ob der GET-Parameter debug übergeben wurde.
    Also besser if($_GET['debug']) oder noch besser if(isset($_GET['debug'])).

    MfG
    Götz

    --
    Losung für Montag, 20. September 2004
    Wohl dem, der barmherzig ist und gerne leiht und das Seine tut, wie es recht ist! (Psalm 112,5)
    Wer da kärglich sät, der wird auch kärglich ernten; und wer da sät im Segen, der wird auch ernten im Segen. (2. Korinther 9,6)
    (http://www.losungen.de/heute.php3)
  2. yo,

    if ($debug AND $sqlresult) {
         <<code>>
       }
    elseif ($sqlresult AND mysql_num_rows($sqlresult) > 0) {
        <<code>>
      }
    else{
        <<fehlerbehandlung>>
      }

    Ilja

  3. dank euch

    aber eine so wirklich elegante lösung scheint es ja nicht zu geben ... naja

    ulli