update mit array

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

  • 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ß

    Kommentar


    • #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?

      Kommentar


      • #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

        Kommentar

        Lädt...
        X