gpt4 book ai didi

php - 填充连接表

转载 作者:行者123 更新时间:2023-11-29 13:30:37 26 4
gpt4 key购买 nike

我正在开发一个调度系统,学生可以用 php 和 mysql 与老师一起预订类(class)。

有 3 个单独的表来保存数据,每个表都有自己唯一的 ID StudentID、LessonID 和 TeacherID。它们都是多对多关系。许多学生可以上很多课。许多老师可以上很多课。因此,有两个连接表将学生和教师连接到同一类(class):类(class)/学生和类(class)/教师。

我遇到的问题是我正在制作一个表格来输入新类(class)。我希望能够以相同的形式分配学生和老师。表单中的大部分数据直接发布到类(class)表,这很简单(开始时间、结束时间、房间号等),但我在连接表方面遇到了麻烦。

我正在提取可用学生和教师的列表,并打算根据他们的 ID 将他们输入到联结表中。我似乎无法弄清楚在实际创建类(class) ID 之前应该如何捕获类(class) ID,因为我需要连接表的 LessonID,但该类(class)甚至还没有创建。

所有 ID 自动递增。我能想到的唯一解决方案是返回最新的lessonID并加一。这是最佳实践吗?我感觉这可能会在以后引起问题。例如,当两个用户尝试同时创建类(class),或者存在延迟并且另一个类(class)在另一个类(class)之前创建,但他们都将相同的类(class) ID 发布到联结表时。

任何意见都值得赞赏!谢谢

最佳答案

当您插入类(class)记录时,您可以检索为其分配的 ID(因为您已自动递增它)。所以程序应该是首先插入类(class),返回插入的ID。使用返回的类(class) ID 以及学生 ID 和教师 ID 来插入连接记录。

// $db is the mysqli object that has been connected to your database

// Insert the lesson
if ($db->query("INSERT INTO .........."))
{
$lessonID = $db->insert_id;

// Insert the student and teacher junctions with $lessonID
}

关于php - 填充连接表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19518569/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com