-1

私は動的テーブルを持つアプリケーションを構築しています。ページテーブルを開くたびに、データベース内のデータに基づいて行と列が変更されます。各行はベンダー会社であり、各列はアイテムタイトルです。これらのベンダーはすべて同じアイテムを供給します。したがって、このテーブルにはテキストボックスがあり、それぞれにTextBoxが含まれているため、ユーザーは値を入力できます。これは、そのサプライヤーに必要な果物の量を表します。以下はその例です。

サンプルデータ

したがって、今必要なのは、これらの値を入力した後、PHPで処理し、確認ページに4つの異なるレポートを表示することです。例:会社名を記入し、その下に何を提供する必要があるかアイテムごとに、次に次の会社、というように最後まで続きます。

テキストボックスごとに異なるクラスを作成する必要があるかどうかわかりませんか?またはそれらをIDします!それらを配列する必要がありますか?私は混乱しています..あなたたちの誰かが助けることができれば、素晴らしいでしょう

どうもありがとう

4

2 に答える 2

1

入力要素に配列という名前を付けることをお勧めします。何かのようなもの:

<input type="text" name="fruits[company1][apple]">
<input type="text" name="fruits[company1][berries]">
<input type="text" name="fruits[company1][orange]">
<input type="text" name="fruits[company1][bannana]">

<input type="text" name="fruits[company2][apple]">
<input type="text" name="fruits[company2][berries]">
<input type="text" name="fruits[company2][orange]">
<input type="text" name="fruits[company2][bannana]">

または同じことで、果物が1番目のレベルで、会社名が2番目のレベルです。それは実際には同じことであり、一般的にどちらも同じように簡単に使用できます。フォームを投稿した後、データをどのようにループするかによって異なります。会社名や果物のIDも使用したほうがよい場合があります。たとえば、スペースを含む会社名は引き続き有効です。

上記のフォームを使用すると、次のようなデータを処理できます。

<?php
foreach($_POST['fruits'] as $company=>$row){
    foreach($row as $fruit=>$quantity){
        if(!is_numeric($quantity) || $quantity < 0){
            $quantity = 0;
        }
        echo "You selected {$quantity} {$fruit} from {$company}";
    }
}
于 2012-08-10T19:33:58.553 に答える
-1

アイテムのIDを最初の次元として使用してマルチディメンション配列を作成してみます。このような:

<input type="textbox" name="textbox[<?php echo $row['item_id']; ?>]["apple"]" value="<?php echo $row['apple']; ?>" />

次に、処理スクリプトで次のようにします。

foreach ($_POST['textbox'] as $row)
{
  foreach ($row as $key => $val)
  {
    $q = "update `items` set `apple` = {$val['apple']} where `item_id` = {$key}";
    mysql_query($q);
  }
}
于 2012-08-10T19:33:49.053 に答える