0

私はphpにかなり慣れていません。ユーザーがデータベースから生成されたアイテムのリストから複数の選択を行うフォームをセットアップしました。このリストは、事前に決定されたパスを保留するさまざまな長さにすることができます。さらに、生成されたセクションの前後に他のフィールドがあります。

$_POST メソッドから生成されたフィールドを取得するにはどうすればよいですか? $_POST['item' のような方法はありますか? $i]?

生成された例を次に示します。

            $query="SELECT * FROM categories";
                $result = mysqli_query($dbc, $query) or die(mysqli_error($dbc));
                    $row = mysqli_fetch_array($result);

                    if($row > 0){


while($row = mysqli_fetch_array($result)){
echo '<tr>
    <td><input type="checkbox" name="item' . $row['category_id'] . '" value="' . $row['category_id'] . '">' . $row['category_name'] . '<br></tr>';

} エコー '';

4

2 に答える 2

0

私は最近似たようなことをしていました.DOMに追加された可変長のデータの配列の配列を収集する必要がありました. これがベストプラクティスかどうかはわかりませんが、最終的には次のようにしました。

foreach ($_POST as $key=>$obj) {
    if (preg_match('/^row\d+$/',$key)) {
        // some code to manipulate $obj
    }
}

preg_match の詳細を見る

テーブル内の各入力に名前を付けました:

name="row"+i+"[fieldName]"

繰り返しますが、これが「ベスト プラクティス」であるかどうかはわかりませんが、目的には合っていました。それが役立つことを願っています!

于 2013-07-25T20:08:18.003 に答える
0

命名規則を使用してデータベースから動的に表示される複数のフォーム項目がある場合item-$i。(item-0、item-1、item-2 など...)、次の形式を使用して投稿から動的に取得できます...

$_POST["item-$i"]

時々、POST からすべてを取り出して、.xml を介して変数に代入しforeachます。

foreach ($_POST as $key => $value)
{
    $$key=$value;
}

これにより、$item-0、$item-1、$item-2 などの名前の変数が作成されます。それらから値を取得するには、 variable variables を使用します${"item-{$i}"}

変数変数ドキュメント

于 2013-07-25T20:09:40.670 に答える