在php

时间:2019-07-03 06:04:17

标签: php arrays loops

我的问题类似于Submitting a multidimensional array via POST with php

唯一的区别是,我的数据是从csv文件生成的:

<?php
$fileHandle = fopen("data/group.csv", "r");

 while (($row = fgetcsv($fileHandle, 0, ";")) !== FALSE) {
    echo '<tr>';
    echo '<td>';
    echo '<label for="id">' . $row[0] . '</label>';
    echo '</td>';
    echo '<td>';
    echo '<label for="description">' . $row[1] . '</label>';
    echo '</td>';
    echo '<td valign="top">';
    echo '<label for="diameter">' . $row[2] . '</label>';
    echo '<td>';
    echo '<input type="radio" name="' . $row[0] . '" value="' . $row[3] . '" checked="checked">' . $row[3] . ' pcs';
    echo '</td>';
    echo '<td>';
    echo '<input type="radio" name="' . $row[0] . '" value="' . $row[4] . '">' . $row[4] . ' pcs';
    echo '</td>';
    echo '<td>';
    echo '<input type="radio" name="' . $row[0] . '" value="' . $row[5] . '">' . $row[5] . ' pcs';
    echo '</td>';
    echo '</tr>';
}
?>

要在发送之前对此进行审查,我正在使用下面的代码,它工作得很好:

<?php

echo '<pre>'; print_r($_POST); echo '</pre>';

foreach ($_POST as $id => $amount) {
  if ($amount <> 0) {
    echo '<tr>';
    echo '<td>';    
    echo '<label for="id">' . $id . '</label>';
    echo '</td>';
    echo '<td>';
    echo '<label for="amount">' . $amount . ' pcs</label>';
    echo '</td>';
    echo '</tr>';
  }
}
?>

,数组如下所示:

Array
(
    [5465653] => 0
    [81613] => 0
    [21318] => 400
    [348787] => 400
    [663] => 800
)

因此格式化的输出例如

id      amount
21318   400 pcs.
348787  400 pcs.
663     800 pcs.

问题是,但是我无法将其他行(描述和直径)放入查看页面,因此输出如下所示:

id      description   diameter    amount
21318   Description   10          400 pcs.
348787  Description   10          400 pcs.
663     Description   15          800 pcs.

任何帮助将不胜感激。

0 个答案:

没有答案