所以我有一个表单,可以让人们添加成绩列表,使用jQuery,他们可以添加多达9个额外的字段。 (意思是他们可以提交1到10年级的任何数字)。我想知道的是我如何将其存储在我的数据库中,因为我不想将它们全部转换为一个字符串。我担心的是因为我不知道用户要输入多少等级,我无法设置一个确定的数组来存储(或者我可以吗?)
很抱歉,如果解释得不是很好,我对PHP和SQL仍然相对较新!
答案 0 :(得分:1)
如果我没有弄错的话,快速假设是:为多个科目保存一个具有多个成绩的用户可以像这样实现。
首先,我们从表单中获取一个用户ID并将其放在PHP中:
$id = isset($_POST['id'])? $_POST['id']:'';
然后获得以逗号分隔值发送的多个成绩和科目:
//$id= explode(',',$_POST['id']);// For multiple users
$grade= explode(',',$_POST['grade']);
$subj= explode(',',$_POST['subject']);
$entry= explode(',',$_POST['entry']);
现在计算成绩数:$count= count($grade);
使用for loop
中的计数进行循环插入:
for ($i = 0; $i < $count; $i++) {
try {
$dbh->beginTransaction(); //$dbh is your PDO connection
$insertQ = "INSERT INTO `grades` (id, grade, subject, entry)
VALUES('$id', '$grade[$i]', '$subj[$i]','$entry[$i])";
$dbh->query($insertQ);
$dbh->commit();
} catch (Exception $e) {
$error = $e->getMessage();
}
}
希望这可能会有所帮助。