Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何根据按下的submit按钮行在PHP中检索td值?_Php_Html - Fatal编程技术网

如何根据按下的submit按钮行在PHP中检索td值?

如何根据按下的submit按钮行在PHP中检索td值?,php,html,Php,Html,我希望能够看到基于“提交”按钮所在行的td值 这是我的html代码 <?php foreach($books as $booklist) : ?> <tr> <form action = "." method = "post"> <input type="hidden" name="action" value="addtocart" > <td>&

我希望能够看到基于“提交”按钮所在行的td值

这是我的html代码

<?php foreach($books as $booklist) : ?>
        <tr>

            <form action = "." method = "post">
            <input type="hidden" name="action" value="addtocart" >
            <td><img height="50" width="50" src=<?php echo "/../../product_manager/uploads/".$booklist['productimage']; ?>></td>
                    <td><?php echo $booklist['name']; ?></td>
            <td><?php echo $booklist['version']; ?></td>
            <td><?php echo $booklist['releaseDate']; ?></td>
            <td><?php echo $booklist['price']; ?></td>
            <td><?php echo $booklist['quantity']; ?></td>

            <td><input name="submit" type="submit" value = 'Add to cart'/><td>
            </form>

        </tr>
        <?php endforeach; ?>

我的问题是,它只是在重复最后一行。如果我回显版本、价格等,它只回显名为test的产品。如何根据submit按钮行将其发送到echo?另外,我想严格保持它仅限于php或html。

您可以给提交按钮一个基于数组的名称,例如name=“submit[0]”。这样,您可以在循环中使用计数器变量将值分配给submit按钮,并确定按下了哪个按钮


以上是我的建议,您应该将其与单个表单元素一起使用。根据HTML标准,表单不应该包含在tr元素中,而应该只包含在td元素中。因此,表单元素应该包含表,而不是相反

您也可以尝试读取以下值,而不是for循环:

$arr = array_keys($_POST['submit']);
echo $arr[0];

我更新了我的答案,因为一开始我没有意识到您在tr元素中使用了多个表单元素。tr元素中不允许包含表单元素。“tr元素中不应包含表单”即使这是正确的,我怀疑任何浏览器都无法正确呈现页面。在我看来,OP实际上没有在任何地方输出产品ID,因此它正在将最后一个产品添加到卡中。但也许我错了…“表单元素不允许在tr元素中。”-可能不是个好主意,但我不完全同意这一说法。如何将数组分配给提交按钮,给我提交按钮行?@triswill227,因为数组的第一个元素的键
$\u POST['submit']
将是行号。就我个人而言,我更喜欢一个名为“product_id”的隐藏输入元素,但只要能让你的船浮起来就行。
$arr = array_keys($_POST['submit']);
echo $arr[0];