2016-09-19 2 views
0

In meiner HTML-Seite habe ich ein Formular, wo Benutzer neue Zeilen mit einer Schaltfläche hinzufügen können. Eine "Zeile" besteht aus einem input (interventions) und einem select (interventions_status) und Sie können "unbegrenzte" Zeilen haben.PHP-Arrays - erkannte Zeile erkennen und bearbeiten

Wenn das Formular gesendet wird, erstellt es Arrays (interventions, interventions_status), die ich in meiner Datenbank mit serialize speichern.

Der Eingang interventions ist Build (Wert) wie folgt: WHAT_DOES_THE_USER_DO||LAST_EDITED_BY||LAST_EDITED_TIMESTAMP. Buuut, dass ich möchte, dass die LAST_EDITED_BY und LAST_EDITED_TIMESTAMP von meinem Skript aktualisiert werden. In der Tat ist "||" ein Trennzeichen und nur WHAT_DOES_THE_USER_DO wird Benutzern angezeigt.

Um den Wert meines interventions Eingangs zu aktualisieren, muss ich feststellen, ob eine Zeile bearbeitet wurde. Und wenn es bearbeitet wurde, die LAST_EDITED_BY und LAST_EDITED_TIMESTAMP zu aktualisieren. Eine Zeile kann jedoch nur in Abhängigkeit von der Auswahl interventions_status bearbeitet werden, die nur eine Zahl enthält (0 = ok, 1 = nein, 3 = in Bearbeitung).

interventions_status und interventions sind auf „derselben Reihe“, also wenn ich interventions_status[3] für 3 Zeile bearbeiten, ist es „verknüpft“ mit interventions[3].
Also, wenn dritte Auswahl bearbeitet, möchte ich auch die dritte Eingabe bearbeiten.

Ich habe versucht, mit array_diff die gespeicherte (db) Version vergleichen und die gebuchten Version von interventions_status (vergessen Sie nicht, dass Daten serialisiert werden), dann die interventions Zeile „select“ versucht, die die bearbeitete intervention_status entsprechen. Aber funktioniert nicht ...

Vielleicht haben Sie eine bessere Lösung?

Hoffe, es ist klar, ...

Tabelle:

+----+------------------+----------------------+-----------+ 
| id | interventions | interventions_status | engine_id | 
+----+------------------+----------------------+-----------+ 
| 1 | SERIALIZED_DATAS | SERIALIZED_DATAS  | 298E70D | 
+----+------------------+----------------------+-----------+ 
| 2 | SERIALIZED_DATAS | SERIALIZED_DATAS  | 290A98T | 
+----+------------------+----------------------+-----------+ 
+0

können Sie die Beschreibung Ihrer Mysql-Tabelle – Jagrati

+0

Fertig im ursprünglichen Beitrag – FabriceDouceur

+0

ah so meinst du ein Aktivitätsprotokoll – Beginner

Antwort

0

Soweit ich verstehe Sie in Frage, haben Sie eine Tabelle mit Zeilen in Ihrem HTML-Code.

Wenn Sie die Zeile interventions_status einer Zeile bearbeiten, sollten Sie auch id dieser Zeile senden, also , die in Ihrer Tabelle für diese Zeile gespeichert ist.

Jetzt überprüfen, ob vorherige/bereits gespeicherte interventions_status sich von der aktuellen unterscheidet. Wenn ja, dann update the row.

Ich hoffe, das ist die Lösung, die Sie suchen!

+0

@Jugrati das ist genau das, was ich brauche :) – FabriceDouceur

+0

Löst es Ihr Problem? – Jagrati

+0

@jugrati Das ist, was in meinem Kopf ist, aber ich brauche etwas Code .... Ich kann dies nicht auf meine Anwendung anwenden :(:( – FabriceDouceur

Verwandte Themen