我有这个:

foreach($_POST['pos'] as $value) {
   $new_value = "UPDATE users SET regnr='" . $value . "'
   WHERE username='" . mysql_real_escape_string($_COOKIE['username']) . "'";
}

// Connect to database
$opendb = mysql_connect($dbhost, $dbuser, $dbpass) or die("Kunde inte ansluta till MySQL:<br>" . mysql_error());
mysql_select_db($dbname) or die("Kunde inte ansluta till databasen:<br>" . mysql_error());

mysql_query($new_value) or die(mysql_error());

// Close database
mysql_close($opendb);


信息:

$_POST['pos']在隐藏的输入中保存数据库中的值。我选择用str_split($r['regnr'], 6);将此值拆分为一个JQuery可排序列表。如果我在foreach循环中键入echo $value;,那么我将从JQuery可排序列表中获得新值(根据需要,未拆分)。我需要列表中的所有值,并通过echo获取它。但是,如果我使用$value变量更新其来源的数据库,则它只会使用JQuery可排序列表中的最后一个值进行更新。

有人可以解决吗? :D

最佳答案

解决方法如下:

$str = '';

foreach($_POST['pos'] as $value) {
  $str = $str.$value;
}

// Connect to database
$opendb = mysql_connect($dbhost, $dbuser, $dbpass) or die(mysql_error());
mysql_select_db($dbname) or die(mysql_error());

$new_value = "UPDATE users SET regnr='" . $str . "' WHERE username='" . mysql_real_escape_string($_COOKIE['username']) . "'";
mysql_query($new_value) or die(mysql_error());

// Close database
mysql_close($opendb);

10-06 14:20