2017-05-21 4 views
1

von diesem Code muss ich den Status mit Kontrollkästchen aktualisieren, aber seine Aktualisierung nur die letzte Zeile, die ich habe, und dann ermöglicht es mir, den Rest mit der gleichen Wahl der ersten zu aktualisieren, unter Berücksichtigung dieses Status sind Optionslisten. kannst du mir bitte sagen was falsch ist?Update mit foreach-Schleife php

+0

Verwenden Sie einen 'header' anstelle des' meta'. Sie legen den Status außerhalb der Schleife fest. Gibt es nur ein Statusfeld? Sie können einfach ein "in" verwenden und alle Datensätze gleichzeitig aktualisieren. Sie sind offen für SQL-Injections, parametrisieren Sie die Abfrage. Haben Sie auch "Aktiv" und "Aktivierung" Eingänge? – chris85

+0

Ich habe aktive und inaktive Optionen. und "Aktiv" ist die Schaltfläche, "Aktivierung" ist der Name der Option. –

+0

Ihr Code ist anfällig für SQL-Injection, Sie müssen dies beheben. – Enstage

Antwort

0

Erstens, bitte seien Sie vorsichtig, Sie könnten SQL Injection ausgesetzt sein. Verketten von Zeichenfolgen ist nicht die beste Option, versuchen Sie, parametrisierte Abfragen auszuführen.

Zweitens, wie sieht das Tag aus? Ein häufiger Fehler ist es, "[]" nach dem Feld zu vergessen. Ein Beispiel:

<input type="checkbox" name="Box[]" value="{ID}"> 

Drittens echo "<meta..>" sollte wohl außerhalb der foreach-Schleife sein.

+0

Was sind die parametrisierten Abfragen? und echo ""? –

+0

Über SQL-Injection: http://StackOverflow.com/Questions/60174/How-CanI-I-Prevent-SQL-Injection-in-PHP – user3429660

+0

Von "Echo" "' Ich bezog sich auf Ihre Aktualisierung Meta-Tag. Wenn Sie es in der Schleife behalten, wird es für jedes Element einmal in $ _POST ['Box'] gedruckt. – user3429660