删除一行SQL PHP后的无组织表

时间:2015-11-04 11:03:25

标签: php mysql

我有一个管理页面,用于在表格中添加或删除作业。我们认为我们在表中有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']) . "')";


?> 

1 个答案:

答案 0 :(得分:1)

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

事实上,由于用户永远不会看到&#34;数字&#34;与工作相关联,您甚至不需要为自动增量值而烦恼。

除非与您未告诉我们的编号有关。