我正在运行一个面向医学生的网站,我在数据库中为每个学生提供了个人资料和分数,因此,当他们参加活动时,我必须为所有参与者添加X点的分数,而我会使用ajax形式,如何运行MySQL查询以大文本输入(文本区域)为每个学生提供X点的积分?因此,我可以一次又一次插入所有点,这更加容易和快捷,这是一个示例:
21910431|1|Participant
22010431|3|Subleader
21810531|6|Headleader
(Student ID)|(points)|(role in activity)
因此,当我用上面的数据填充文本区域时,必须在activity_log
表中插入3条记录。如何一次将其全部插入数据库?像这样:
$query= "INSERT INTO `activity_log` (`Student ID`, `points`, `role`) VALUES (ALL THE VALUES IN THE EXAMPLE ABOVE)";
如果有人可以帮助您,您可以编写代码向我展示如何?非常感谢!
使用PDO:
$lines = explode("\n", $_POST['textarea']); // split into lines
$params = [];
foreach ($lines as $line) {
if ($line) { // skip blank lines
$params += explode('|', $line); // split each line into individual values
}
}
# Make all the (?, ?, ?) that go after VALUES
$values = implode(',', array_fill(0, count($params)/3, '(?, ?, ?)'));
$query= "INSERT INTO `activity_log` (`Student ID`, `points`, `role`) VALUES $values";
$stmt = $conn->prepare($query);
$stmt->execute($params);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句