我的问题类似于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.
任何帮助将不胜感激。