0

これは、社内の受注 Web ページ用です。このようになります。製品(ドロップダウンボックスから)と数量のHTMLテーブルが必要だと思います。私の問題は、保存を押したらテーブルからデータを取得する方法です。彼らは 1 つまたは 40 個の製品を入力できたので、40 個の入力ボックスだけでなく、ある程度動的である必要があり、$_POST からそれらを受け取る必要があります (または、これが私が行う必要があることかもしれません)。私はこれにどのようにアプローチするかを尋ねていると思います。これは PHP でできることですか、それとも js を使用する必要がありますか?

ありがとう。私が明確でない場合 (明確な可能性) は、私に知らせてください。

4

4 に答える 4

0

配列を入力フィールド名として使用します。たとえば、quantity [0]、quantity [1] ...quantity [10]など...次に、foreachを使用して着信$_POST配列を処理します。

これが、多くの行と列を実装する方法です。

<form method="post">
<table>
<?
$rows=10;
$cols=3;
$colsArr = array();
$colsArr[0] = "qty";
$colsArr[1] = "desc";
$colsArr[2] = "unitprice";
for($i=0;$i<$rows;$i++)
{
    echo "<tr>";
    for($j=0;$j<$cols;$j++)
    {
        $name = $colsArr[$j];
        echo "<td><input type=text name=".$name."[" . $i ."]></td>";
    }
    echo "</tr>";
}

?>
</table>
<input type="submit">
</form>

このコードの出力のソースを見てください。このようなフォームを投稿すると、次のようになります:(数量、1,3,5、説明desc1、desc2、desc3、価格1.00 $、2.00 $、5.00 $の3つのアイテムを投稿しています)

Array ( [qty] => Array ( [0] => 1 [1] => 3 [2] => 5 [3] => [4] => [5] => [6] => [7] => [8] => [9] => ) [desc] => Array ( [0] => desc1 [1] => desc2 [2] => desc3 [3] => [4] => [5] => [6] => [7] => [8] => [9] => ) [unitprice] => Array ( [0] => 1.00$ [1] => 2.00$ [2] => 5.00$ [3] => [4] => [5] => [6] => [7] => [8] => [9] => ) )
于 2012-08-14T23:43:23.507 に答える
0

PHPでそれを行うことができ、フォームを送信する行追加ボタンを使用できます。フォームを保存せず、投稿データで再表示し、さらに入力のある別の行を追加します。しかし、JS バージョンの方がユーザーのエクスペリエンスが向上する可能性があります。

于 2012-08-14T23:10:26.607 に答える
0

はい、で渡すことができます$_POST

はい、PHP で可能です。これを処理するために、おそらく何らかのタイプのデータベースも必要になるでしょう。

于 2012-08-14T23:11:12.603 に答える
0

たとえば、配列内のデータを収集するフォームを作成できます。

<tr>
    <td><input type="text" name="item[]" /></td>
    <td>
    <select name="qty[]">
        <option value="1">1</option>
        <option value="2">2</option>
    </select>
    </td>
</tr>
于 2012-08-14T23:12:52.027 に答える