Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.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
Php smarty从while/section循环发布数据_Php_Templates_Loops_Smarty - Fatal编程技术网

Php smarty从while/section循环发布数据

Php smarty从while/section循环发布数据,php,templates,loops,smarty,Php,Templates,Loops,Smarty,我有一个smarty页面,可以在数据库中的表中循环。对于每一行,我都有一个提交按钮。如果我单击submit按钮,它应该只回发该行的数据。问题是它每次都回发最后一行。它无法区分每行的差异。有什么想法吗 这是我的密码: <!--{section name=ct loop=$data}--> <tr> <td><center><!--{$data[ct].id}--></center></td>

我有一个smarty页面,可以在数据库中的表中循环。对于每一行,我都有一个提交按钮。如果我单击submit按钮,它应该只回发该行的数据。问题是它每次都回发最后一行。它无法区分每行的差异。有什么想法吗

这是我的密码:

    <!--{section name=ct  loop=$data}-->
    <tr>
    <td><center><!--{$data[ct].id}--></center></td>
    <td><!--{$data[ct].name}--></td>
    <td><!--{$data[ct].cars}--></td>
    <td><!--{assign var=key value=$data[ct].id}-->       
    <input type="hidden"  name="id" value="<!--{$key}-->">
    <a href="javascript:;" 
onclick="javascript:erase();return false;">DELETE</a>
    </tr>
    <!--{/section}-->


由于您有多个同名的输入字段,因此它总是覆盖上一个字段,因此您总是得到最后一个字段的值

解决方案:

<a href="server_page.php?id={$key}" onclick="javascript:erase();">DELETE</a>


使用
$id=$\u Get['id']在服务器页面中获取此id并在数据库中删除。

您的问题不是clearIt循环表中的10行。我想删除第3行。如何选择要删除的行?当它发回服务器时,我总是得到最后一行id。你是如何将它传递给服务器的?我在这里看不到代码,是通过
javascript:erase()传递的吗或者它只是用于确认消息?它只是一条警报确认消息。在服务器端,我只是回显$_POST['id'];我总是看到后面显示的是错误的一行。