2016-12-11 1 views
1

Was ichMultiple vorträgt Änderungssätze in mysql

wollen

enter image description here

Ich will, was, wenn Druck auf die Taste „Ändern“ Aktualisieren von Datensätzen in MySQL, aber wie es zu tun? Wie create übermittelt welche Seite welche Submit press und welche Zeile muss in MySQL aktualisiert werden?

+0

Jede Schaltfläche sollte ihre eigene Form haben und Sie sollten eine ID auf jedem haben. Dann reichen Sie auf eine Seite und aktualisieren Sie den Datensatz auf der Grundlage der ID ... oder Sie könnten JS verwenden .. – chris85

Antwort

0

Das Button-Element muss ein name-Attribut haben, zB change.

<button type="button" name="change">Click Me!</button>

So müssen Sie den folgenden Code schreiben:

if(isset($_POST['change'])){ 
 
$query="UPDATE table_name SET column1=value1,column2=value2,...WHERE some_column=some_value "; 
 
$result=mysqli_query($connection_db,$query); 
 
}

Bei mehreren Tasten verwenden name = "change_1" etc ..

+0

Aber wie Seite wissen, welche Eingabe ID ist? Vor Eingaben Zahlen ist ID. Und dann drücken Sie auf Ändern, es sollte nur eine Zeile Datensätze ändern. – Deimantas

+0

Sie möchten Datensätze mit einer Schaltfläche oder mit der entsprechenden Schaltfläche aktualisieren? Geben Sie mir ein Beispiel – liontass

+0

Nein, ich möchte mit entsprechender Schaltfläche aktualisieren. Bei diesem Update wird jedoch nur diese Zeile aufgezeichnet, auf die geklickt wird. – Deimantas

0
if(isset($_POST['change'])){ 
$input_1=$_POST['input_1']; 
$query="UPDATE table_name SET column1=$input_1 WHERE some_column=some_value "; 
$result=mysqli_query($connection_db,$query); 
} 
+2

** Warnung **: Dieser Code enthält eine Sicherheitsanfälligkeit durch SQL-Injektion und sollte nicht wörtlich verwendet werden. Verwenden Sie immer die Parameterbindung, wenn Sie von Benutzern beschädigte Werte in Ihr SQL einbringen. – halfer

+2

Während dieses Code-Snippet das Problem lösen kann, erklärt es nicht, warum oder wie es die Frage beantwortet. Bitte [fügen Sie eine Erklärung für Ihren Code hinzu] (// meta.stackexchange.com/q/114762/269535), da dies wirklich zur Verbesserung der Qualität Ihres Posts beiträgt. ** Flaggers/Rezensenten: ** [Für Nur-Code-Antworten wie diese, Downvote, nicht löschen!] (// meta.stackoverflow.com/a/260413/2747593) [Das gleiche gilt für falsche Antworten. ] (// meta.stackoverflow.com/q/287563/2747593) –

0

Um eine Übergabeschaltfläche für jede Zeile zu haben, muss etwas mit der Realität in Beziehung stehen, jede Zeile hat einen eindeutigen Wert, wie Zeile 1 einen Primärschlüssel oder einen eindeutigen Schlüssel für die gewünschte Zeile hat. Wenn Sie diese bestimmte Zeile aktualisieren möchten, müssen Sie innerhalb der Update-Anweisung where something = something schreiben.

Jede Schaltfläche hat eine Eingabeanweisung wie: <input name="sub1" type="button">. Der Grund, warum ich Submit nicht gesetzt habe, ist, dass der Button-Typ und das isset (_ $ POST ("sub1")) genauso funktionieren wie submit.

Nun wird jeder Zeile eine Eingabe mit einem eindeutigen Namen zugewiesen. Wenn Sie darauf klicken, wird eine andere Aktion ausgeführt.

Dann wird der Code, der nach dem Klicken auf die Schaltfläche ausgeführt wird.

if (isset($_POST("sub1")){ 
//calrify theconncetion class if you have or establish a connection 
$text1 = $_POST['fieldName']; // you know that each field has a unique name 
$text2 = $_POST['fieldName']; 
//continue until you grap all data 
//the update statement 
$q ="update tablename SET name="$text1" , email="$text2" where something = 1"; // focus on "where" because as I said each row has a unique value and each $_POST['buttonName'] will update a unique row. only change the where segment. 
} 
+0

** Warnung **: Dieser Code enthält eine Sicherheitsanfälligkeit durch SQL-Injektion und sollte nicht wörtlich verwendet werden. Verwenden Sie immer die Parameterbindung, wenn Sie von Benutzern beschädigte Werte in Ihr SQL einbringen. – halfer