【发布时间】:2016-10-19 13:32:37
【问题描述】:
我正在学习 php,但我被一项任务困住了.. 我有一个看起来像这样的数组:
$data[1]["First"] = "Iva";
$data[1]["Last"] = "Ivić";
$data[1]["Date"] = "2016-09-29";
$data[1]["Paid"] = "Yes";
$data[2]["First"] = "Petar";
$data[2]["Last"] = "Perić";
$data[2]["Date"] = "2016-02-08";
$data[2]["Paid"] = "No";
$data[3]["First"] = "Tomo";
$data[3]["Last"] = "Tomić";
$data[3]["Date"] = "2015-08-22";
$data[3]["Paid"] = "Yes";
我需要从这个数组中回显 HTML 表。在值 ['Paid'] 上,html 表应该输出选择字段并显示当前值作为选择。 此外,表的第一列应分配#ID 编号。
到目前为止,我已经设法创建了表格,但我不知道如何计算和回显 # 以及如何让选择字段工作。第二个值对我不起作用。
<table border="1" align="center" width="80%">
<tr bgcolor="yellow">
<th>ID #</th>
<th>First</th>
<th>Last</th>
<th>Date</th>
<th>Paid</th>
</tr>
<?php
foreach ( $data as $info )
{
// date transform
$date = explode('-', $info['Date']);
//var_dump($date);
echo '<tr align="center" bgcolor="#f6f6f6">';
echo ' <td>' '</td>';// How to count #IDs starting from 1?
echo '<td>'. $info['First'] .'</td>';
echo '<td>'. $info['Last'] .'</td>';
echo '<td>'. $date[2].'.'.$date[1].'.'.$date[0].'.</td>';
//echo '<td>'. $info['Paid'] .'</td>';
echo '<td>';
echo '<select name="Paid">';
echo '<option value="0" selected>'. $info['Paid'] .'</option>';
echo '<option value="1">'. $info['Paid'] .'</option>';//This is where I'm stuck
echo '</select>';
echo '</td>';
echo '</tr>';
}
?>
</table>
?>
谢谢。
【问题讨论】:
-
需要统计记录吗?您不能将每个子数组键用于 id。吗?
-
您可以在第二个选项中用
<?php echo ( $info[ 'Paid' ] == 0 ? 'selected' : '' ); >替换选中的字段,将0 替换为1。这仅对本示例非常有用,因为它不易扩展。echo '<option value="0" <?php echo ( $info[ 'Paid' ] == 0 ? 'selected' : '' ); >>'. $info['Paid'] .'</option>'; echo '<option value="1" <?php echo ( $info[ 'Paid' ] == 1 ? 'selected' : '' ); >>'. $info['Paid'] .'</option>';
标签: php html multidimensional-array