SQL PHP删除一行后的无序表


disorganization table after deleting a row SQL PHP

我有一个管理页面,用于在表中添加或删除作业。我想我们有10项工作:

 1 ... 10

是的,这很简单,但如果管理员想删除表的第二个作业,该怎么办?表格将有:

1,3 ... 10

新作业将添加为:

11 to N

我需要一种正确的方法来对删除后的值进行排序。

这是获取数据库表的值以进行选择,然后删除:

 <form name="form2" method="post" action="delete.php" > 
 <?php
   $db_host = 'localhost';
   $db_name= 'site';
   $db_table= 'job_list';
   $db_user = 'root';
   $db_pass = '';


$con = mysql_connect($db_host,$db_user,$db_pass) or die("خطا در اتصال به پايگاه داده");
mysql_query("SET NAMES 'utf8'", $con);
mysql_query("SET CHARACTER SET 'utf8'", $con);
mysql_query("SET character_set_connection = 'utf8'", $con);
$selected=mysql_select_db($db_name, $con) or die("خطا در انتخاب پايگاه داده");
mysql_query("SET CHARACTER SET  utf8");
$dbresult=mysql_query("SELECT * FROM  $db_table",$con);
echo "شغلی که می خواهید حذف کنید انتخاب نمایید: ";
echo '<br/>';
echo '<select name="delete">';
while($amch=mysql_fetch_assoc($dbresult))
{
   echo '<option value="'.$amch['job_id'].'">'.$amch['job_name'].'</option>';
}
echo '</select>'; ?> <br/>
 <input name="submit2" type="submit" value="submit2" />
</form>

这是我的代理人。hp:

<?php
$db_host = 'localhost';
$db_name= 'site';
$db_table= 'job_list';
$db_user = 'root';
$db_pass = '';

$con = mysql_connect($db_host,$db_user,$db_pass) or die("خطا در اتصال به پايگاه داده");
mysql_query("SET NAMES 'utf8'", $con);
mysql_query("SET CHARACTER SET 'utf8'", $con);
mysql_query("SET character_set_connection = 'utf8'", $con);
$selected=mysql_select_db($db_name, $con) or die("خطا در انتخاب پايگاه داده");
$ins = "DELETE FROM job_list 
     where job_id='" . mysql_escape_string($_POST['delete']) . "'";
     $dbresult=mysql_query($ins,$con);
echo "('" . mysql_escape_string($_POST['delete']) . "')";

?> 

根据您提供的信息(作业编号的唯一相关性在用户界面中),您只需将浏览器上的编号与数据库中的编号解耦即可。在数据库中使用自动递增id。

事实上,由于用户永远看不到与作业相关联的"数字",因此您甚至不需要为自动递增值而烦恼。

除非你没有告诉我们与编号有关。