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