Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用MySQL insert函数保留HTML表的行顺序_Php_Jquery_Mysql - Fatal编程技术网

Php 使用MySQL insert函数保留HTML表的行顺序

Php 使用MySQL insert函数保留HTML表的行顺序,php,jquery,mysql,Php,Jquery,Mysql,我正在使用一个简单的to-PHP和jQuery脚本将数据从HTML表发送到我的datatabse中。它从每行的每个td中收集值,并将其插入数据库。这是一个相当普遍的问题,但在将值添加到数据库中时,如何确保保留表的行顺序 我意识到,ORDER BY不能在插入时使用,我会定期插入同一个表,每次插入的表中都有不同的数据,因此我不能使用row ID字段准确返回订单,因为会出现重复。每个tr都有一个ID(我在下面的脚本中没有使用这个函数),那么我们可以在jQuery端做些什么来确保以某种顺序插入记录呢 j

我正在使用一个简单的to-PHP和jQuery脚本将数据从HTML表发送到我的datatabse中。它从每行的每个
td
中收集值,并将其插入数据库。这是一个相当普遍的问题,但在将值添加到数据库中时,如何确保保留表的行顺序

我意识到,
ORDER BY
不能在插入时使用,我会定期插入同一个表,每次插入的表中都有不同的数据,因此我不能使用row ID字段准确返回订单,因为会出现重复。每个
tr
都有一个ID(我在下面的脚本中没有使用这个函数),那么我们可以在jQuery端做些什么来确保以某种顺序插入记录呢

jQuery脚本:

 $('#myModal').on('click', '#save', function(){
    $("#table tr:gt(0)").each(function () {
    var this_row = $(this);
    var artist = $.trim(this_row.find('td:eq(1)').html());
    var title = $.trim(this_row.find('td:eq(2)').html());
    $.post('ajax/save.php', { 'artist': artist, 'title':title });
    });
 });
$artist=$_POST['artist'];
$title=$_POST['title'];
$newartist = mysql_real_escape_string(trim($artist));
$newtitle = mysql_real_escape_string(trim($title));

$con = mysql_connect("localhost","xxxx","xxxx");
mysql_select_db("cdcol", $con);
$sql="INSERT INTO `table 3` (ARTIST, TRACKTITLE)
VALUES ('$newartist', '$newtitle')";
mysql_query( $sql, $con );
echo"Success";
?>  
PHP脚本:
$artist=$_POST['artist'];
$title=$_POST['title'];
$newartist = mysql_real_escape_string(trim($artist));
$newtitle = mysql_real_escape_string(trim($title));

$con = mysql_connect("localhost","xxxx","xxxx");
mysql_select_db("cdcol", $con);
$sql="INSERT INTO `table 3` (ARTIST, TRACKTITLE)
VALUES ('$newartist', '$newtitle')";
mysql_query( $sql, $con );
echo"Success";
?>  

试过了吗?我在数据库中的id字段上有一个自动增量,这使得以后更容易操作数据库字段。但这并不能解决在插入新行时如何保持HTML表的行顺序,是吗?我是否遗漏了一些明显的信息?请解释一下,我每次都会定期插入同一个表,其中包含不同的数据。对不起,我没有说清楚我的观点。我想说的是,如果每次运行脚本时,我都使用ID 1、2或3按顺序插入行,那么数据库中就会有多个相互冲突的ID实例。我认为最好的方法是,因为每组记录都是一起插入的,所以可以保留一个datetime列并
跟踪\u ID
。当用户下次输入track->4,5,6 track\u id->2,2,2时,插入track->1,2,3 track\u id->将为1,1,1。你明白我的意思吗?使用track_id和datetime列,可以按照插入记录的相同方式获取记录。插入之前,从表中获取
max(track\u id)
,并递增1。