我有一个表格,可以向表中添加一些数据。我有一个打印出数据的php文件。在每一行的页面中打印一个链接,当你点击它时,你将进入一个页面,删除该单行。 这个页面叫做delete.php 但是有一个问题:当删除单行时,如果我添加另一行,则自动增量将被打印错误! 例如,如果你删除第7行并且打印了13行,当你添加另一行时,打印的自动增量列将是这样的: 1,2,...,12,14
这是delete.php的代码:
malloc()
这是我的问题:
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
else {
echo "" . mysqli_error($conn);
}
$id=$_GET['id'];
$sql = "DELETE FROM qolak WHERE id='$id'";
if (mysqli_query($conn, $sql)) {
echo "";
for($i=$id+1;$i<=1000;$i++){
$j=$i-1;
$sql = "UPDATE qolak SET id='$j' WHERE id='$i'";
//
if (mysqli_query($conn, $sql)) {
echo "";
} else {
echo "" . mysqli_error($conn);
}
}
}
$rownum=$_GET['rownum'];
$rownum+=1;
$ssql = "ALTER TABLE qolak AUTO_INCREMENT ='$rownum'";
if (mysqli_query($conn, $ssql)) {
echo "";
} else {
echo "" . mysqli_error($conn);
}
mysqli_close($conn);
此查询不会动态更改自动增量 请帮忙!!!
答案 0 :(得分:0)
选择的方法不能解决基本问题:
您必须将自动增量区分为ID,将输出区分为人类可读编号。将其分开,因为自动增量永远不会是连续的,而且是设计的!
您永远不应该尝试手动更改自动增量值。周期。
如果你想要一些连续的行编号,在你的html上添加一个额外的列(不在数据库中,因为没有&#34;行号和#34;在那里!)
使用ID = 13
删除第7行将导致第8行成为新的7,依此类推。