我有一个管理页面,用于在表格中添加或删除作业。我们认为我们在表中有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>
这是我的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("خطا در انتخاب پايگاه داده");
$ins = "DELETE FROM job_list
where job_id='" . mysql_escape_string($_POST['delete']) . "'";
$dbresult=mysql_query($ins,$con);
echo "('" . mysql_escape_string($_POST['delete']) . "')";
?>
答案 0 :(得分:1)
根据您提供的信息(作业编号的唯一相关性在用户界面内),您只需将浏览器上的编号与数据库中的编号分开即可。在数据库中使用自动增量ID。
事实上,由于用户永远不会看到&#34;数字&#34;与工作相关联,您甚至不需要为自动增量值而烦恼。
除非与您未告诉我们的编号有关。