2013-09-25 71 views
0

我目前正在设计一个网站,它从PHP中的MySQL数据库中读取信息并打印出每行的表单。这是使用while循环完成的,所以表单在循环内部回显出来。但是,无论何时提交表单,都会发布很多值,因为页面上的表单具有相同的NAME和ID。具有相同名称/ ID的多个表单

如何在数据库中打印每个项目的一个表单并相应地处理该表单?谢谢!

while (*this goes through each row in the database) { 
    echo "<form name='myForm' id='myForm' method='post' action=''> 
      <input type='text' name='text1'> 
      </form>"; 
} 

我想用循环打印出一个动态数量的表单。

+0

改为使用'class','id'应该是唯一的。 –

回答

2

只需在每次迭代中通过向循环中添加一个计数器来更改表​​单名称和标识。

$i = 0; 
while (*this goes through each row in the database) { 
    echo "<form name='myForm" . $i . "' id='myForm" . $i . "' method='post' action=''> 
      <input type='text' name='text1'> 
      </form>"; 
    $i++; 
} 

甚至可能是更好的是,如果你有某种独特的数据库ID为每个记录,使用值ID而不是一个计数器。

+0

我喜欢这个,但我将如何去处理和验证表单?我需要为每个表单名称编写一个函数吗?谢谢! –

+1

不可以。您可以向表单中添加一个类,并使用jQuery或“document.getElementsByClassName”一次性抓取它们。 –

+1

@felix_xiao您可以使用一个验证函数,只需将当前提交的表单传递给该函数(即使用'this'),并仅对传递的表单及其子输入进行操作。 –

相关问题