-2
私はphpフォームから来るデータでデータベースを更新するために作成した次のコードを持っています。 $_POST['variables']
は異なる配列です。 私が抱えている問題は、$updater
フィールドステータスとフィールド表示値が正しい順序でない場合です。たとえば、チェックボックス3をチェックすると、結果の最初の行で有効になっている値が返されます。任意の提案は、あなたがHTMLでそれを強制しない限り、あなたは、所望の順序であなたの配列を取得する保証はありませんフォームから来るデータを更新するためのループphp mysql html
//update data
$priority = $_POST['priority']; // this will be an array
$enable = $_POST['enable'];
$height = $_POST['height'];
$position = $_POST['position'];
$widgetid = $_POST['widgetid'];
$display = $_POST['display'];
$i = -1;
foreach($priority as $priori)
{
++$i;
$row_enable = $enable[$i];
$row_height = $height[$i];
$row_prio = $priority[$i];
$positio = $position[$i];
$disp = $display[$i];
$widgeti = $widgetid[$i];
if (isset($enable[$i]))
$enables ="y";
else
$enables ="n";
if (isset($display[$i]))
$displ = "y";
else
$displ = "n";
//DO THIS FOR THE REST AND THEN YOUR UPDATE QUERY
$updater = "UPDATE hpoptions SET position='$positio', height='$row_height', status='$enables', display='$displ', priority='$row_prio' WHERE userid='$ud' and widgetid='$widgeti'";
echo $updater."<br>";
} // ends here
EDIT:最初のバージョンが間違っていました。 – bfavaretto
今、それを試していただきありがとうございます。フォームフィールドはmysqlから生成されています...私はw1 w2などの名前をつけることはできません... – cppit
エイリアスを使用して名前を付けることができます。 –