PHP & MySQL - Private Nachrichten System - Checkboxen

Manuel

Mitglied
Hallo,

ich habe zwar die Suchfunktion benutzt blos es kam nicht das gewünschte raus was ich gesucht habe. Ich nehme mal stark an sowas wurde schonmal geschrieben aber ich habe jetzt nicht alle Seiten der Suchfunktion durchgeblättert.

Mein Problem:
Ich habe ein private Nachrichten System geschrieben doch nun bevor der Benutzer 50 Links anklicken muss das die Nachricht gelöscht wird, dachte ich mir, ich mache das lieber einfacher. Ich möchte es so hinbekommen, dass der Benutzer per Checkbox auswählt, welche Nachrichten gelöscht werden. Ich habe imoment sowas geschafft:

PHP:
      <?php
       if (is_array($_POST['markMessage']) == true) {
            $i = 0;
            foreach ($_POST['markMessage'] as $key => $value) {
                if ($i == 0) $ausgabe .= $value;
                else $ausgabe .= ', '.$value;
                $i++;
            }
            
            echo $ausgabe;
      }
      ?>
(Vorlage von hier: php-space.info)
Also es wird ja schonmal alles in ein Array gespeichert. Jetzt fehlt nur noch das Stückchen, dass immer ein Query ausgeführt wird, der dann die Einträge löscht:

Beispiel:
mysql_query("DELETE FROM meine_tabelle WHERE messageID = $dannHaltHierDieEineID");
mysql_query("DELETE FROM meine_tabelle WHERE messageID = $dannHaltHierDieZweiteID");

Ich wollte es mit einer while() Schleife probieren, doch ich kam nicht drauf wie.

Danke schonmal im Vorraus.
Manuel ;)
 
Der Ansatz mit der while schleife ist schon nicht verkehrt.

Alle Einträge mit einer While Schleife auslesen lassen.
Zu jedem eintrag also einmal in der While Schleife dann z.B. ein Bild.

PHP:
<?php
##Deine Daten
echo '<a href="DeineSeite.php&del=true&mid='.$message.'"><img src="images/delete.jpg" border="0"></a>';
##Deine Daten
?>
 
Nein ohne das Bild ich will sie doch direkt löschen. Also pass auf: Es gibt die Seite post_office_input.php - Dort kann man die Einträge markieren und wenn man auf einem Button klickt kommt man auf die Seite (markMessage.php) wo dann die foreach Schleife gebildet wird das alles in ein Arraygepackt wird und dann was ich halt nicht schaffe alles per while Schleife gelöscht wird. Ich meine halt in der while Schleife dann jeder einzelne Eintrag. Ohne das Bild usw. Dann muss der User ja wieder alles selbst löschen und das kann ich ja dann auch machen...
 
Versuch den Code mal...

Bei dem Code musst du aber die Message ID mit übertragen, sonst funktionierts nicht.
Und was auch ganz wichtig ist... Du musst angeben für welchen Benutzer die Aktion durchgeführt wird, da sonst von jedem Benutzer die Private Nachricht gelöscht wird.

PHP:
<?php

	if(isset($_POST['messageID'] == true)){
		$messageID = $_POST['messageID'];
			foreach($messageID as $id) {
				mysql_query("DELETE FROM meine_tabelle WHERE messageID ='".$id."' WHERE user='".$user."'");
			}
		}
		
?>
 
Kannst du doch machen. Oder Irre ich mich da grad?!... Das ist doch eine "foreach" schleife. Die wird so lange durchlaufen bis alle durch sind.
Kann sich mal ein anderer von euch das Thema annehmen?
 
Bin ich jetzt blöd ?

Also das Skript von dir hab ich auf das geändert:
PHP:
       $messageID = $_POST['markMessage'];
       if(isset($messageID == true)){
            foreach($messageID as $id) {
                mysql_query("DELETE FROM msah_member_post_office_input WHERE messageID = '".$id."' WHERE recipientID = '".$memberID."');");
            }
        }

Und als Meldung bringt er mir das:
Parse error: syntax error, unexpected T_IS_EQUAL, expecting ',' or ')' in /is/htdocs/xxx/www/xxx/markMessage.php on line 142

Zeile 142 ist
PHP:
 if(isset($messageID == true)){
 
Hallo!

Und als Meldung bringt er mir das:
Parse error: syntax error, unexpected T_IS_EQUAL, expecting ',' or ')' in /is/htdocs/xxx/www/xxx/markMessage.php on line 142
Tipp #1: sehe die Zeilenzahl nur als Anhaltspunkt an.
Tipp #2: Klammern (egal ob normale oder geschweifte) gibt es immer nur paarweise.
Tipp #3: zähle mal die Klammern im Query.

Gruss Dr Dau
 
Ich habe auch die Überprüfung weggelassen dann findet er einen Fehler in der Foreach Schleife. Wollt ihr das Skript wo ich die Checkboxen anklicken kann auch sehen ?
 
Zurück