2017-03-03 4 views
0

ich eine Mysql Tabelle wie unten haben:Wie Spaltenwert cancate während Aktualisieren von Datensätzen

Id Name Points Done_by 

1 x  20  0 

2 y  30  0 

3 z  10  0 

In meinem Code i 3 Aktionen haben, (Apporve, Abweisen, Close). Wenn die auf der Rolle des Supervisors basierenden Personen die Datensätze in der Tabelle genehmigen, ablehnen oder schließen können.

Wenn also ein Supervisor genehmigt ist/Ablehnen/Schließen eines Datensatzes bedeutet, dass seine ID in der Spalte Done_by beibehalten wird.

Was ich will, ist, wenn ein Vorgesetzter der ID-1 Mittel genehmigen, dann werden die Datensätze der Tabelle wie unten sein,

Id Name Points Done_by 
1  x  20  emp10 

Wenn ein anderer Vorgesetzter abgelehnt Mittel werden die Datensätze der Tabelle wie folgt aussehen werden,

Id Name Points Done_by 
1  x  20  emp10 , emp 5 

Gleiches zum Schließen.

Wie dies in PHP Mysql.

Antwort

1

Versuchen mit dieser SQL-Abfrage: UPDATE your_table SET Done_by = (CASE Done_by WHEN 0 THEN 'your_supervisor_id' ELSE CONCAT(Done_by, ', ', 'your_supervisor_id) END);

prüfen here die manuelle Funktion für CONCAT

+0

traurig es für mich nicht funktioniert, hier ist meine Abfrage "UPDATE Zusammenfassung SET done_by = (CASE done_by WENN 0 THEN ' ". $ done_by_id." 'ELSE CONCAT (done_by,', ',' ". $ done_by_id." ') END) wo id =' ". $ id." '" – Nisanth

+0

Was ist der Fehler? –

+0

nichts passieren Datensätze nicht aktualisiert – Nisanth

Verwandte Themen