2

このスクリプトを解決する方法がわかりません: ポイント 1 で、1 つの材料、量、および um を持つ 1 つの $data 配列が必要です

html 部分は次のとおりです。

...
<tr>
  <td><input name="cantitate[1]" class="cantitate" /></td>
  <td><select name="unitate[1]"><?=$display->selectAmount()?></select></td>
  <td><input name="ingredient[1]" class="ingredient" /></td>
</tr>
...

これがphp部分です:

// ingredients
$ingredients = $_POST['ingredient'];
$amount = $_POST['cantitate'];
$um = $_POST['unitate'];

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

 $data = null;
 if(isset($_POST['ingredient']) && !empty($_POST['ingredient']) && $_POST['ingredient']!=''){

    if($key=='cantitate') $data['amount'] = $value;
    if($key=='unitate') $data['um'] = $value;
    if($key=='ingredient') $data['ingredient'] = $value;                    

    //var_dump($data);
    // point 1
    // here will be the function to add one ingredient with one um, and one amount
 }

}

ありがとう!

4

2 に答える 2

2

作ってみるといいと思います

<tr>
  <td><input name="entry[1][cantitate]" class="cantitate" /></td>
  <td><select name="entry[1][unitate]"><?=$display->selectAmount()?></select></td>
  <td><input name="entry[1][ingredient]" class="ingredient" /></td>
</tr>

インターレーターからどこに1来ますか。

次に、すべてのリクエストを含む 1 つの大きな配列を取得できます。

$data = $_POST['entry']

そしてそれを繰り返します。

于 2013-03-19T12:47:01.910 に答える
-1

私があなたを正しく理解していれば、あなたはこれを行うことができます:

<tr>
<td><input name="data[]" class="cantitate" /></td>
<td><select name="data[]"><?=$display->selectAmount()?></select></td>
<td><input name="data[]" class="ingredient" /></td>
</tr>

そしてPHPの場合:

<?php 
$data = $_POST['data']);
print_r($data); //$data[0] == cantitate, $data[1] == unitate
?>
于 2013-03-19T12:42:54.520 に答える