Problem mit variablen Checkboxen

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

  • Problem mit variablen Checkboxen

    Hi,

    ich bin gerade dabei, ein messagesystem zu proggen, wie es z.B. in vielen foren zu finden ist.

    Mein Problem :

    In der Nachrichtenübersicht wird neben jeder Nachricht eine Checkbox angezeigt, um die Nachrichten für löschen bzw. verschieben auswählen zu können. Die Checkboxen erhalten einen dynamischen Namen, message_$id, also die jeweilige id aus der mysql datenbank wird einfach angehängt

    so siehst aus :

    PHP-Code:


    $search
    ="SELECT * FROM pmcenter WHERE an='$username' ORDER BY datum DESC";

    $result=mysql_query($search,$connect) or die ("Konnte nicht aus Datenbank lesen: ".mysql_error());

    while (
    $data=mysql_fetch_array($result)){

    if (
    $data[gelesen] == "nein"){
    $bgcolor="bgcolor=#FCFBDA";
                    }

    elseif (
    $data[gelesen] == "ja"){
    $bgcolor="";
        }
                    
    $messagezeit=gmdate("H:i",$data[datum]);
    $messagedatum=gmdate("d.m.Y",$data[datum]);
                    
    echo 
    '<tr class="standart_text">
    <td height="20"> <input name="message_'
    .$data[id].'" type="checkbox" id="message_'.$data[id].'" value="selected"></td>

    <td valign="bottom" bordercolor="#000000" '
    .$bgcolor.'><font face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF"><b><font face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF"><b><a href="pmcenter.php?show=message&&id='.$data[id].'"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><b><font color="#000033">'.$data[betreff].'</font></b></font></a></b></font></b></font></td>
                    <td valign="bottom" bordercolor="#000000" '
    .$bgcolor.'>'.$data[von].'</td>
                    <td valign="bottom" bordercolor="#000000" '
    .$bgcolor.'>'.$messagedatum.', '.$messagezeit.'</td>
                    <td valign="bottom" bordercolor="#000000" '
    .$bgcolor.'>'.$data[prio].'</td>
                    </tr>'
    ;
                    }
                    } 
    Dieser Teil funktioniert ja auch ganz wunderbar, aber wenn ich jetzt löschen oder verschieben will geht nix....

    PHP-Code:
    elseif ($action == "handle_message"){

    //Datensätze ermitteln

    $anz_daten="SELECT * FROM pmcenter WHERE an='$username' AND ort='posteingang'";
    $resultid=mysql_query($anz_daten,$connect) or die ("Konnte nicht aus Datenbank lesen: ".mysql_error());

    if (
    $anweisung == "trash"){

    while (
    $data=mysql_fetch_array($resultid)){

    if (
    $message_.$data[id] == "selected"){

    $trash="UPDATE pmcenter SET ort='trash' WHERE id='$data[id]'";
    $settrash=mysql_query($trash,$connect
    or die (
    "Konnte Daten nicht verschieben, Sript-oder Datenbankfehler: ".mysql_error());
    }
    }
    }


    ich denke mal, das diese if schleife nicht geht :

    if ($message_.$data[id] == "selected"){

    Aber wie kann ich sonst festellen, ob die checkbox aktiviert wurde ???
    -=Es gibt Leute, die können Ihren Stammbaum bis zu denen zurückverfolgen, die noch darauf saßen=-

  • #2
    Du kannst doch einfach alle zur Diskussion stehenden Messages durchlaufen und alle abchecken mit if isset($deine_über_formular_übergebene_Variable).
    Nur jene Variablen, bei denen die Checkbox angehakt war, sind gesetzt.

    Die andere Variante ist die, dass die Variablen, die via Checkbox und Formular übergeben werden, du diese als Array weitergibst und dann diesen Array direkt durchläufst fürs löschen usw.
    Im Array sind dann nur die Datensätze drin, bei denen die Checkbox angehakt war.

    Hoffe es war verständlich genug.

    mfg

    Kommentar

    Lädt...
    X