Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

DELETE Frage





Frage

Hallo ihr. Ich hab da mal so eine kleine bescheidene Frage. Ich hoffe ihr könnt mir da helfen. *ggg* Also ich habe ein Array mit vielen IP-Adressen und eine Datenbank mit vielen Einträgen in jedem Eintrag steht auch eine IP. Nun will ich aber die Einträge aus der Datenbank löschen, die eine IP aus dem Array haben. Kann ich nun so löschen? DELETE from guestbook WHERE ip = array['0'], array['1'], array['x']; oder wie muss das aussehen??? oder muss ich für jede IP eine extra Abfrage machen? Für eure Hilfe bin ich euch sehr dankbar. MFG Chris

Antwort 1 von Supermax


// Hier wird aus dem Array eine mit , getrennte Liste von IP-Adressen generiert
$ipList = '';
foreach($array as $index => $ip) {
   if ($ipList) $ipList .= ',';
   $ipList .= "'$ip'";
}

mysql_query("DELETE FROM guestbook WHERE ip IN ($ipList)");


Antwort 2 von son_quatsch

Das ist keine PHP, sondern eine SQL-Frage. Du könntest z.B. dieses Kommando aufbauen:

if (count($feld)> 0) {
  $sql= '';
  foreach ($feld as $wert) $sql.= ', \''. $wert. '\'';
  $sql= 'DELETE FROM guestbook WHERE ip IN ('. substr($sql, 2). ')';

  ...sql ausführen...z.b. mit mysql...
  $ergebnis= mysql_query($sql);
  if (!$ergebnis) die('Fehler: ' . mysql_error());
}


Bei MySQL weiß ich es nicht, aber bei ORACLE gibt es die Einschränkung, dass ein IN maximal 1000 Einträge haben darf

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: