Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Problem beim loeschen... :(

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Problem beim loeschen... :(

    Hallo an alle...

    Ich hab ein Problem mit meinem Code... Glaube ich jedenfalls...
    PHP-Code:
    <?php

    include("mysql.inc.php");


    $sql "SELECT * FROM smd_contact ORDER by id asc";
    $result mysql_query($sql);
    while(
    $data mysql_fetch_array($result))
    {
    echo 
    "<table width=520 cellpadding=0 cellspacing=2 border=0>";
    echo 
    "<tr><td height=20 bgcolor=#999999>[b]$data[id].[/b]$data[betreff]</td></tr>";
    echo 
    "<tr><td bgcolor=#CCCCCC><font color=#333333>[b]Absender:[/b] $data[name]
    [b]e-Mail Adresse:[/b]"

    echo 
    "$data[email]

    [b]Nachricht:[/b]
     
    $data[nachricht]</font></td></tr>";
    echo 
    "<tr><td align=right height=20 bgcolor=#CCCCCC>";
    echo 
    "<form method=post action=index.php?site=admin/admin&page=admin/delete><input type=hidden name=del_array[] value='".$data[id]."'><input type=image src=gfx/button_del.png></form>";
    echo 
    "</td></tr></table>";
    }
    ?>
    Das obrige ist die while schleife um den inhalt der tabelle anzuzeigen... jetzt möchte ich die nachrichten löschen... dazu habe ich eine zusätlich "delete.php" angelegt die sieht so aus :
    PHP-Code:
    <?php
    include ("mysql.inc.php");
    $loeschen "DELETE FROM smd_contact WHERE id = " $_REQUEST["del_array"];
    mysql_query($loeschen);

      if (
    mysql_affected_rows ($connectionid) > 0)
      {
        echo 
    "Nachricht erfolgreich gelöscht.

    "
    ;
        echo 
    "<a class=main href=index.php?site=admin/admin&page=admin/home>Zurück</a>
    "
    ;
      }
      else
      {
       echo 
    "Fehler beim löschen der Nachricht.
    "
    ;
       echo 
    "<a class=main href=index.php?site=admin/admin&page=admin/home>Zurück</a>
    "
    ;
      } 
    ?>
    Eigentlich soll ja das script in der while schleife mit diesem code :
    PHP-Code:
    echo "<form method=post action=index.php?site=admin/admin&page=admin/delete><input type=hidden name=del_array[] value='".$data[id]."'><input type=image src=gfx/button_del.png></form>"
    die ID in ein array schreiben damit man sie danach löschen kann... jedoch macht er das leider nicht...


    PLZ HELP ME

    mfg

  • #2
    Nur mal der Teil mit dem Array
    PHP-Code:
    <?php
    $loeschen 
    "DELETE FROM smd_contact WHERE id IN (" implode(', '$_REQUEST["del_array"]).")"
    ?>
    Gruß
    Der Desian
    Wenn dich was ankotzt, machs besser.

    Kommentar


    • #3
      Es ist nicht gerade übersichtlich, ein ganzes Formular in eine Zeile zu packen und auch sonst wäre eine gewisse Formatierung hilfreich.
      Aber nun zu deinem Problem: Du erstellst ja für jede gefundene Zeile ein eigenes Formular, also brauchst du gar keinen Array. Da
      allerdings diese Formulare keinen Submit-Button haben, werden sie auch nie abgeschickt und damit wird natürlich auch nichts gelöscht.
      Ausserdem erstellst du auch jedesmal eine neue Tabelle. Ich denke auch das ist nicht beabsichtigt. Also nimm die Tabellendefinition aus
      der Schleife raus und verpacke das Ganze in ein Formular. Anstelle der einzelnen Formulare packst du eine Checkbox mit der ID rein.
      Das sieht dann etwa so aus (den ganzen Formatierungskram lass ich weg, den kannst du selber wieder reinpacken):
      PHP-Code:
      include("mysql.inc.php");

      $sql "SELECT id, name, email, nachricht 
                 FROM smd_contact 
                 ORDER BY id asc"
      ;
      $result mysql_query($sql) or die("Fehler: " mysql_error() . "
      Abfrage: 
      $sql
      "
      );
      echo 
      "<form action='delete.php' method='POST'>\n";
      echo 
      "<table border='0'>";
      while(
      $data mysql_fetch_array($result))
      {
          echo 
      "<tr><td>[b]" $data['id'] . "[/b]</td>";
          echo 
      "<td>[b]Absender:[/b]" $data['name'] . "</td>
                   <td>[b]e-Mail Adresse:[/b][b]" 
      $data['email'] . "[/b]</td>
                   <td>L&ouml;schen:<input type='checkbox name='del_array[]' value='" 

                    
      $data['id'] . "' ></td></tr>";
          echo 
      "<tr><td colspan='4'>[b]Nachricht:[/b]
      $data['nachricht'] . "</td></tr>";
          echo 
      "<tr><td colspan='4'><hr /></td></tr>";
      }
      echo 
      "<tr><td colspan='4'><input type='submit' name='go' value='Go' /></td></tr>";
      echo 
      "</table>";
      echo 
      "</form>"
      Löschen kannst du dann so, wie es DerDesian geschrieben hat.
      Gruss
      L

      Kommentar

      Lädt...
      X