Karin: Hilfe: bitte Script ansehen

Hallo Fachleute,

ich bin verzweifelt ob meines Knoten im Koppe :-(
bitte schaut Euch unten stehendes Script an und sagt mir,
was ich falsch mache ($gebaeude ist nur eine von vielen Variablen -
zum schnelleren lesen)

Das Ergebnis soll sein:
wenn $gebaeude nichtleer ist, soll Meldung kommen und NICHT gelöscht werden
wenn $gebaeude leer ist, soll gelöscht werden

---scriptanfang----
$res = mysql_db_query("ip","SELECT * FROM $ug1");
if(!$res)  {     echo "Keine Datensätze gefunden."; }
else  {

while($row = mysql_fetch_array($res))
  {
      $gebaeude = $row['gebaeude'];        // echo "$gebaeude\n";  echo  OK

if ( $gebaeude!='')   {
       echo '<br><strong>Erst freigegeben , bevor  gelöscht werden kann!</strong><br><br>';
       echo '<a href="../../index.php">zurück zur Startseite</a><br> ';
       }
    else  {  //if ( $gebaeude=='')
      $res2 = mysql_query(" DELETE FROM IPDB WHERE id = '$ug2' ");
      $res3 = mysql_query(" DROP TABLE IF EXISTS $ug1 ");
       if ($res2 and $res3)  {
           echo '<p><b>es wurde geloescht</b></p>';
           echo '<a href="../../index.php">zurück zur Startseite</a>';
         }
       else  { echo 'Es wurde nicht gelöscht!';  }
    }
  }  //while Ende
}    // oberstes else-Ende
---scriptende----

obiges liefert:
wenn  in einer Zeile $gebaeude  nicht leer ist, wird mir "Erst freigegeben ,..."  ausgegeben,
wenn in anderen Zeilen $gebaeude leer ist,   "es wurde geloescht",
aber:  für jede (!) Zeile der Tabelle  (wohl wegen der Schleife)
und: es wird tatsächlich alles gelöscht    :-(

wenn ich die while-Schleife vor     if ( $gebaeude!='')   schließe,
erhalte ich nur die Ausgabe  "es wurde gelöscht",
aber:  $gebaeude  war  nicht leer
und: es wurde trotzdem gelöscht

Auf Eure Hilfe hofft
Karin