まず、私は PHP (および一般的なプログラミング) に非常に慣れていないため、php と mysql を使用するカスタム ツールを使用してゲーム サイトを開発することで、空き時間にそれを自己学習しようとしています。そのため、読み進める際にはそのことを念頭に置いてください。
私が必要としているのは、データがユーザーによって POST に送信されたら、フォーム上で何らかの計算を行う関数を適切にコーディングする方法を学ぶための正しい方向へのポイント (または何が何をするかについての簡単な説明) です。
背景情報は次のとおりです。
データベースには、さまざまな量の 8 つの異なる「製品」に変換できる「原材料」の表があります。次に、それらの 8 つの製品とその価格を含む別のテーブルがあります。
Raw Item Names に対する単純なクエリから、この形式で Select ボックス (SelectList1 から 11) を自動的に生成するフォームをセットアップしました。
<td>
<div align="center">
<select name="SelectList1">
<option value=0></option>
<option value=1>Raw Item 1</option>
<option value=2>Raw Item 2</option>
...
<option value=47>Raw Item 47</option> //Yes, there is a lot
</div>
</td>
選択ボックスの隣には、選択した各「原材料」の数を入力するために使用できるテキスト入力ボックスがあります。name=商品番号1~11
<td>
<input type="text" size="15" maxlength="10" name="productNum1" id="productNum1">
</td>
これでユーザー フォームは終了です。未加工のアイテムを選択し、販売する数量を入力します。
送信すると、データベースにアクセスして、製品価格テーブルと「原材料」テーブルの両方の必要な配列と、そのすべてのさまざまなデータを取得する別の長いコードがあります。
フェッチされた価格配列のレイアウト:
$pDA = Array (
[product1] => Array (
[id] => 1
[productname] => Product1
[price] => 599 //whole number used to avoid float precision issues
)
.....
[product8] => Array ( //repeat above values
取得した原材料配列:
$oDA = Array (
[material1] => Array (
[id] => 1
[materialname] => Material1
[batch] => 100 //Number needed to process
[product1] => 0 //changes based on material
[product2] => 0 //changes based on material
[product3] => 0 //changes based on material
[product4] => 0 //changes based on material
[product5] => 0 //changes based on material
[product6] => 0 //changes based on material
[product7] => 0 //changes based on material
[product8] => 0 //changes based on material
)
..... continue all the way down to
[material47] => Array ... etc
というわけでデータは以上です。私が今しなければならないことは、Select box ポストを利用して、適切な配列データと製品番号が 0 より大きい場合はそれらを取得することです。
それらがあり、それらが正しく保存されたら、ユーザーが送信した「productNum1」値に対して計算を行う必要があります。
例えば:
処理後、Rawmaterial1 には product1 が 500 個、product6 が 250 個、残りが 0 個あります。Rawmaterial1 には 100 のバッチがあります ユーザーは Rawmaterial1 を選択します ユーザーは Rawmaterial1 の数として 1000 を入力します
Fetch Array Data against Select Box
Array returns data for Rawmaterial1
(1000 submitted / 100 Batch) = 10 runs
10 runs = 5000 of product1
10 runs = 2500 of product6
5000 * product1price = value1
2500 * product2price = value2
$totalvalue = $value1 + $value2
これは私が迷っているところです - 以前と同じようにポスト値を文字列と変数の負荷に割り当てることで個別に数学を行うようにコード化できますが、理解不足で見逃している簡単な方法があると確信しています.
ここで私の Beg for Help 小説を読んでくれた人に、事前に感謝します.