我在数据库中有一个表,其中有一个名为roll_no的列,表中还有其他四列。我有一个表单将数据插入此表。我希望显示此表单x次,其中x是roll_no的不同值的数量。这意味着如果roll_no有50个不同的值,那么表单将在同一页面上显示50次。在表单中,roll_no字段应自动填充从数据库中获取的值。 其他4个字段是start_date,end_date,total_lectures,attend_lectures。 假设start_date = 7th和end_date = 20,那么总共有13个讲座,其中roll_no 1参加了10个讲座,roll_no 2参加了7个讲座,依此类推。教师在表单中填写这样的数据,然后提交表格,并在表格中更新数据。 roll_no,start_date和end_date的组合一起用作主键。
以下是我正在谈论的表格截图hxxp://img202.imageshack.us/img202/832/screenshot1go.png 如果你们使用了phpmyadmin,那么你就会知道当我们点击插入时它会显示两种不同的形式来插入数据,如下图所示:hxxp://img233.imageshack.us/img233/7724/screenshot2ua.png 我也想完成这样的事情,但表格的数量大约是60个
答案 0 :(得分:2)
我不能为我的生活弄清楚你想要做什么,但如果我理解正确,你想要像数据库中有不同的值那样经常打印。
(原谅我,但我仍然使用老式的MySQL函数,所以如果你使用的是较新的函数,你可能需要稍微改变它。)
$distinct_query = mysql_query("
SELECT DISTINCT row_no
FROM table_name
");
for ($i = 0; $i < mysql_num_rows($distinct_query); $i++) {
?>
All the stuff you want to print, where <?php print $i; ?> is the iteration of your form.<br />
<?php
}
请注意,此代码未经测试。
答案 1 :(得分:1)
您可以在输出每个子表单时为每个表单元素添加一个唯一的数字
1. <input type="text" name="roll_no_1" ... />
<input type="text" name="start_date_1" ... />
etc...
2. <input type="text" name="roll_no_2" ... />
<input type="text" name="start_date_2" ... />
etc...
...
50. <input type="text" name="roll_no_50" ... />
<input type="text" name="start_date_50" ... />
etc...
或者,如果您信任用户不破坏表单,则可以将PHP的数组语法用于表单字段:
1. <input type="text" name="roll_no[]" ... />
<input type="text" name="start_date[]" ... />
2. <input type="text" name="roll_no[]" ... />
<input type="text" name="start_date_[]" ... />
...
50. <input type="text" name="roll_no[]" ... />
<input type="text" name="start_date[]" ... />
无论哪种方式都有效。第一个好处是保证所有相关字段在名称中具有相同的“下标”标识。另一个简单地做foreach ($_POST['roll_no'] as $idx => $val) { ... }