只有一个数据应该发布多组数据

时间:2013-10-25 15:20:28

标签: php html foreach html-table http-post

我有一些看起来像这样的代码:

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>";
    }

这基本上会在表格中创建订单和基本信息列表,它还会在表格的最后一列为每条记录创建一个按钮,用于查看其所在订单行的整个发票。如下图所示:

table

所以我想要的是当用户点击按钮时它会发布订单ID和要显示的内容类型,然后显示该订单的信息。 现在我拥有它所以信息可以显示...但在使用firebug的帖子中,我可以看到,点击按钮,而不是自己提交的行订单号,所有的订单号都被提交。< / p>

为什么会发生这种情况,我该如何解决? 我猜它与foreach循环有关吗?

2 个答案:

答案 0 :(得分:1)

解决了它,我愚蠢地将我的结束形式和表格行标签放在foreach循环之外,因此在第一次循环后创建大型表格!

答案 1 :(得分:0)

您必须使用订单号为每个按钮命名。这样你的程序就会知道哪一个被点击了。