-2

さまざまなオブジェクトの位置を自動的に保存するPHP関数があります。

$(function(){
    $("#sortable").sortable();
    $("#sortable").disableSelection();
    $('#btn').click(function(){
        //var dataItem = $("#sortable").sortable("serialize");
        //alert(dataItem);

        $.ajax({
            url: 'save-sorting-position.php',
            data : dataItem,
            success: function(data) {                
                alert('Positions saved');
            }
        });
    });

});

次に、それらはsave-sorting-position.phpに保存されます。これは次のもので構成されます。

<?php 
$arr = unserialize($_REQUEST["item"]); 
foreach($arr as $index => $position)
{
    //store the position here
}
?>

この配列をフォームに渡したい。私はこのようなものを(実際の形で)使ってみました:

<?php 
foreach($position as $pos)
{
    echo '<input type="hidden" name="item[]" value="' . $position . '>' 
} 
?>

しかし、物事はうまくいきませんでした。私は何が欠けていますか?ありがとう!

4

3 に答える 3

1

まず、元の$position変数を上書きしています:

foreach($position as $position)

好き:

foreach($position as $pos)
于 2012-12-30T17:03:41.080 に答える
1
<?php 
foreach($position as $pos)
{  echo '<input type="hidden" name="item[]" value="' . $pos . '">'; } ?>

構文

foreach($arr as $val) 

$pos の代わりに $position を間違ってエコーしていました

于 2012-12-30T17:07:39.400 に答える
1

echo ステートメントの最後にセミコロンを追加します。また、value = の二重引用符を開始しましたが、終了しません。それを修正する

<?php 
foreach($position as $pos)
{
    echo '<input type="hidden" name="item[]" value="' . $pos . '" />'; 
} 
?>

foreach echo ステートメント内で $position の代わりに $pos として使用してみてください

于 2012-12-30T17:08:27.227 に答える