2012-03-08 56 views
1

我有这样的代码表单提交按钮不起作用与PHP循环

<tbody> 
      <form action="dsf.php" method="post"> 
      <?PHP if(mysql_num_rows($leerdb) > 0) {while ($rs = mysql_fetch_row($leerdb)) {?> 
       <tr> 
        <td><input name="idecod[]" type="checkbox" value="<?php echo $rs[0]; ?>" /></td> 
        <td><?php echo $rs[0]; ?></td> 
        <td><?php echo $rs[1]; ?></td> 
        <td><?php echo $rs[2]; ?></td> 
        <td><?php echo $rs[3]; ?></td> 
        <td><?php echo $rs[4]; ?></td> 
        <td><?php echo $rs[5]; ?></td> 
        <td>BsF. <?php echo $rs[6]; ?></td> 
       </tr> 
       <?PHP }}?> 
       <input class="enviar" type="submit" name="enviar" id="enviar" value="Editar Asesor" /> 
     </form> 
      </tbody> 

我不知道为什么提交按钮不起作用。当我点击它时,什么都没有发生。

看来,在PHP循环中的东西正在制造混乱..但据我所知,PHP首先比HTML,所以,当FORM HTML到来时,PHP代码已经执行。

我的错误在哪里?

在此先感谢。

Roberto

+1

你能发布生成的HTML吗? – j08691 2012-03-08 16:13:46

+0

将您的代码放入本地示例中。它对我来说工作得很好。 - 但是你不应该一遍又一遍地使用同一个名字。 – Smamatti 2012-03-08 16:17:57

回答

2

您正在生成无效的HTML。

如果不将表格包装在整个表格中,则不能将表格包装在表格中。

您不能在表格行之间放置提交按钮。

您正在使用的浏览器可能尝试从错误中恢复,以便将表单移动到允许的位置,但不包含任何控件。

注意:不同的浏览器可以通过不同的方式在不适当的表格部分恢复。

Use a validator,并写真实的HTML。

+0

谢谢。它现在可以工作......这可能是一个愚蠢的问题,但是我认为在HTML标签的位置没有关系的地方,只要它们有合适的开始和结束。 再次感谢。 – 2012-03-08 17:21:58

-1

而不是打开括号,如果使用PHP短标签。例如:

<?php if (condition): ?> 
     output your html here 
    <?php endif; ?> 

同样的事情会持续一段时间。请阅读以下网址:www.php.net/manual/en/control-structures.while.php

+0

您可以根据需要嵌套尽可能多的whiles和ifs,只要确保相应地关闭每个ifs即可!很容易迷路。欢呼 – Rorchackh 2012-03-08 16:18:51

+0

虽然这可以提高可读性......这将如何帮助解决这个问题? – Quentin 2012-03-08 16:20:45