2016-07-31 43 views
0

我正在編碼一個CMS表,它允許用戶刪除前端數據。刪除行後使用PHP重新排序mysql表?

下面是生成的內容:

enter image description here

如果我使用

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

刪除該行之一,它現在應該是這樣的

enter image description here

如何我是否重新編號?每次我從表格中刪除一行數列?

+0

「數字」在語義上是什麼意思?你爲什麼需要改變它?如果它只是動態地表示行數,那麼它不需要首先存儲。行數可以在您查詢數據的任何時候確定。 – David

+0

請添加表格的結構。我同意戴維。列「數字」是主鍵? –

+3

您正在使用的DELETE查詢意味着'number'是記錄的系統標識符。如果是這樣的話,***不要修改它。這經常被問到,而且我不知道人們是否認爲他們應該這樣做。它從來不是一個好主意。 – David

回答

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

恢復你的表後..

您可以刪除過程中與其他查詢,更新所有具有一個大於(它會拉了所有它的一個記錄step)

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

這是如何回答這個問題的?代碼沒有解釋被認爲是低質量 – Machavity

+0

解釋答案。 –

+0

對不起,我添加了註釋 –