0

私はこれを持っています:

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

4

1 に答える 1

1

解決策は次のとおりです。

$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);
于 2013-03-18T14:54:30.083 に答える