update mit array

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • update mit array

    hallo ich habe folgendes Problem ich möchte ein update machen für alle Checkboxen die ich angeklickt habe.

    Das Problem der update funktionier leider nur für das letzte was ich angeklickt habe kann mir da einer weiterhelfen?


    PHP Code:
    foreach($_POST['kz_aendern'] as $ausgabe)
        {
          echo 
    $ausgabe;
          echo 
    "<br>";
        }
        
    mysql_ausgewaehlte_nachrichten_zum_ueberschreiben_freigeben($ausgabe); 

    Das ist die funktion die aufgerufen wird.


    PHP Code:
    function mysql_ausgewaehlte_nachrichten_zum_ueberschreiben_freigeben($nr) {

    $linkmysql_datenbank_connect();

    $sql "update nachrichten set
    kz_benutzung = 'n' where empfaenger = '" 
    $_SESSION['nickname'] . "' and nr = '" $nr "'";

    // Ergebnis abholen
     
    $result mysql_query($sql);
     
    // Prüfen, ob ein Fehler passiert ist
     
    if (!$result) {
        echo 
    "Fehler bei dieser Abfrage 67603: " mysql_error();
        }
     
    // Prüfen, ob keine Zeilen gefunden wurden 0=Keine Rows gefunden    
     
    if (mysql_affected_rows() == 0) {
        echo 
    "Daten wurden nicht verändert!";
       }

    mysql_datenbank_disconnect_link($link);
    return 
    $result;


  • #2
    Naja. Du rufst ja deine Funktion auch nur 1 mal auf. Ausserhalb der foreach Schleife.

    Dein script arbeitet zuerst die Schleife ab( Wert $ausgabe wird also ständig überschrieben)

    Und erst dann wird deine funktion aufgerufen

    Pack das } deiner Schleife hinter den Funktionsaufruf
    Lieben Gruß

    Comment


    • #3
      Ja stimmt das wusste ich aber schon.
      Ich habe nur gedacht das dies keine gute Lösung wäre weil, dann würde der Aufruf ja ständig wiederholt.

      Naja ok dann mache ich das so.
      Oder kennt einer eine besser Lösung?

      Comment


      • #4
        das update kannst du auch mit einer query erledigen, indem du alle ids angibst.
        PHP Code:
        // SQL-Injektionen abfangen
        foreach($_POST['kz_aendern'] as $key => $value)
        {
         
        $_POST['kz_aendern'][$key] = (int) $value;
        }

        // Query zusammenbasteln
        $sql 'UPDATE ... WHERE ... AND nr IN ('.implode(','$_POST['kz_aendern']).')'
        ps:
        function mysql_ausgewaehlte_nachrichten_zum_ueberschreiben_freigeben($nr)
        geiler funktionsname

        Comment

        Working...
        X