巧妙解決mysql刪除或新增記錄時,對自增主鍵ID進行重新排序的問題
阿新 • • 發佈:2019-01-30
一、問題描述
表一
id | 姓名 |
1 | 張三 |
2 | 李四 |
表二(當刪除第一條記錄時,顯示為表二)
id | 姓名 |
2 | 李四 |
表三(如何使表顯示為表三,即實現對錶中的id欄位重新排序)
id | 姓名 |
1 | 李四 |
二、問題解決
原理:重新定義一個變數用來顯示錶中的序列號
echo "<table style=' text-align: center' border='2'> <tr><th>ID</th><th>名字</th><th>年齡</th><th>編輯</th></tr>"; for($i=0;$i<$dataCount;$i++){ $result_arr=mysqli_fetch_assoc($result);//返回表中每條資料的具體內容 $id= $result_arr['id']; $count=$i+1;//重新定義一個變數count作為表格排序顯示的序列號 $name= $result_arr['name']; $age= $result_arr['age']; //表格輸出時,輸出新定義的變數count,如下 echo "<tr><td>$count</td><td>$name</td><td><a href='deleteUser.php?id=$id'>刪除</a></td></tr>"; } echo "</table>";
三、好處
對於解決如題的問題,相對於使用資料庫的id欄位實現重新排序,如上解決問題,避免了當資料條目很多時,資料庫的額外開銷。