【发布时间】:2013-10-25 15:20:27
【问题描述】:
我有一些看起来像这样的代码:
if($_POST['order_page_content'] == 'list'){
$m_html_obj = "<table>";
$m_html_obj .= "<tr><td>Order No.</td><td>Created On</td><td>Customer Name</td><td>Items</td><td>View</td>";
foreach($data as $d){
$order_info = $d[0];
$time = new DateTime($order_info->created_date);
$date = $time->format('j.n.Y');
$m_html_obj .= "<tr><td>".$order_info->order_id."</td><td>".$date."</td>";
$m_html_obj .= "<td>".$order_info->customer_name."</td><td>1</td>";
$m_html_obj .= "<td><form action='' method='POST'>";
$m_html_obj .= "<input type='hidden' name='order_page_content' value='info'/>";
$m_html_obj .= "<input type='hidden' name='order_id' value='$order_info->order_id'/>";
$m_html_obj .= "<input type='submit' value='View'/>";
}
$m_html_obj .= "</form></td></tr>";
}
这基本上是在表格中创建一个订单列表和基本信息,它还在表格的最后一列中为每条记录创建一个按钮,用于查看订单所在行的整个发票。如下图:
所以我想要的是,当用户单击按钮时,它会发布订单 ID 和要显示的内容类型,然后显示该订单的信息。 现在我有了它,因此可以显示信息...但是在使用 firebug 的帖子中,我可以看到单击按钮时,不是单独提交该行订单号,而是提交了所有订单号。
为什么会发生这种情况,我该如何解决? 我猜它与 foreach 循环有关?
【问题讨论】:
-
我认为这可能是因为输入都具有相同的名称。你能不能完全跳过表单并将按钮设为链接,然后通过执行
href="http://www.example.com/<?php echo $order_info->order_id;?>"之类的操作来更改 href
标签: php html foreach html-table http-post