2016-07-31 27 views
0

Ich kodiere eine CMS-Tabelle, wo Benutzer Daten auf dem Front-End löschen können.Mit PHP die mysql Tabelle nach dem Löschen einer Zeile neu anordnen?

Unten ist das, was erzeugt wird:

enter image description here

Wenn ich eine der Reihe

mysqli_query($conn, "DELETE FROM registration WHERE number=$deletenumber"); 

Es ist nun wie diese

enter image description here

aussehen würde mit löschen Wie Umnummeriere ich die Nummer Spalte jedes Mal, wenn ich eine Zeile aus der Tabelle lösche?

+0

Was bedeutet "Nummer" semantisch? Warum musst du es ändern? Wenn es nur eine Zeilenanzahl dynamisch darstellen soll, muss es nicht an erster Stelle gespeichert werden. Die Zeilenanzahl kann bei jeder Abfrage der Daten ermittelt werden. – David

+0

Bitte Struktur der Tabelle hinzufügen. Ich stimme David zu. Spalte "Nummer" ist der Primärschlüssel? –

+3

Die DELETE-Abfrage, die Sie verwenden, impliziert, dass "Nummer" die System-ID für den Datensatz ist. Wenn das der Fall ist, *** *** modifiziere es nicht. Dies wird oft gefragt, und ich weiß nicht, wo die Leute die Idee bekommen, dass sie das tun sollten. Es war nie eine gute Idee. – David

Antwort

0
$Query = "DELETE FROM registration WHERE number=$deletenumber; 
      UPDATE registration set number = number-1 WHERE number > $deletenumber"; 
mysqli_query($conn, $Query); 

Nach Ihrer Tabelle wiederherstellen ..

Sie können den Löschvorgang mit einer anderen Abfrage alle Datensätze aktualisieren machen, die eine Zahl größer haben, als es (es wird eine ganze es Pull-up Schritt)

UPDATE registration set number = number-1 WHERE number > $deletenumber"; 
+0

Wie beantwortet das die Frage? Code ohne Erklärung gilt als niedrige Qualität – Machavity

+0

erklären die Antwort. –

+0

Entschuldigung, ich habe Annotation hinzugefügt –