【发布时间】:2010-08-23 23:48:37
【问题描述】:
我有一个注册表单,它获取消费者信息,将其存储在会话中,从页面传递到页面,然后在完成后存储在数据库中。最初该表仅列出最多 16 人的字段,但在读取关系数据库后,发现这是愚蠢的。
我已经创建了一个名为“members”和“managers”的表。每个注册都会接受信息输入,将经理 ID 存储在相应的表中,并在包含经理 ID 的每个成员行中放置一个参考字段。
虽然我一次最多允许 16 名成员注册,但范围可以从 1 到 16 名。
我最好的猜测是在注册超过 1 个成员的情况下使用 FOR 循环运行多个 INSERT 语句。
在下面的示例中,我使用变量 $num 来表示单个成员的信息,并使用 $total 来表示正在注册的所有成员的数量。这里的代码不起作用,但正在寻找:
a) 纠正方法
b) 了解是否有更“有效”的方式来执行此类 INSERT
示例代码:
<?php
$conn = mysql_connect("localhost", "username", "pw");
mysql_select_db("db",$conn);
for ($num=1; $num<=$total; $num++) {
$sql = "INSERT INTO table VALUES ('', '$clean_f'.$num.'fname', '$clean_f.$num.mi', '$clean_f.$num.lname', '$clean_f.$num.fednum', '$clean_f.$num.dob', '$clean_f.$num.ssn', '$clean_f.$num.address', '$clean_f.$num.city', '$clean_f.$num.state', '$clean_f.$num.zip', '$clean_f.$num.phone', '$clean_f.$num.email')";
$result = mysql_query($sql, $conn) or die(mysql_error());
}
mysql_close($conn);
header("Location: completed.php");
?>
【问题讨论】: