如果第一列已插入多于第二列,如何在第二列中继续插入数据

时间:2013-12-26 20:26:45

标签: php mysql sql phpmyadmin

朋友们,请尽可能帮助创建针对这个小问题的编码:

我有一个包含4列的表:

| id |课程|大学|分支|

如果我们在大学专栏中输入的值高达10个值,当然我们输入了4个值,在分支中我们输入1个值,所以最后我们输入了10个id

enter image description here

假设我想在列名中输入id(6,7,8,9,10,11,12)中的数据:college,without gap

数据库名称为“test”,表名为“admin_data”

我正在使用:

<?php
include "db.php";

if (isset($_POST["submit"])){
foreach ($_POST['course'] as $course) {
    $data1 = mysql_real_escape_string($course);
    mysql_query("INSERT INTO admin_data (course) VALUES ('$data1')") or            die(mysql_error());
}
}

if (isset($_POST["submit"])){
foreach ($_POST['college'] as $college) {
    $data2 = mysql_real_escape_string($college);
    mysql_query("INSERT INTO admin_data (college) VALUES ('$data2')") or   die(mysql_error());
}
}

if (isset($_POST["submit"])){
foreach ($_POST['branch'] as $branch) {
    $data1 = mysql_real_escape_string($branch);
    mysql_query("INSERT INTO admin_data (branch) VALUES ('$data3')") or    die(mysql_error());
}
}
header("location: data_enter.php");

?>

但没有得到适当的溶解.... :(

1 个答案:

答案 0 :(得分:2)

好吧,我无法正确理解你的问题,但为什么你不只是像

一样添加数据
 "INSERT INTO admin_data (course,college,branch) VALUES ('$data1','$data2','$data3')"

这样你就不会留下任何空洞或间隙。如果你还想填空单元格那么我会建议这个查询

if (isset($_POST["submit"])){
     $data1 = mysql_real_escape_string($_POST['course']);
     mysql_query("update admin_data set course = $data1 where id = (select id from admin_data where course = null limit 1);");
}

注意:不要使用obselet MySQL移动到PDO和MySQLi。