我有一些代码,看起来像这样:
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循环有关?
发布于 2013-10-25 15:57:22
解决了这个问题,我愚蠢地将结束表单和表行标记放在foreach循环之外,因此在第一个循环之后创建了一个大表单!
发布于 2013-10-25 16:07:08
您必须为每个按钮指定一个名称,例如,使用订单号。这样你的程序就会知道哪一个被点击了。
https://stackoverflow.com/questions/19593728
复制