PHP自动安排考试座位号,如何写一个随机写入的语句?
这是一个考试随机安排座位的程序,cityid是城市ID,如果来自相同的城市,即城市ID相同就隔开3位位置安排座位,防止作弊。
学生数量不确定,但已经有*
1、学生表
userid cityid
001 4501
002 4502
003 4501
004 4503
005 4502
006 4502
007 4504
008 4505
009 4512
. .
. .
2、座位表(zwid:座位ID; kcid:考场ID;每个考场固定60个座位号)
zwid kcid userid cityid
1 001
2 001
3 001
4 001
5 001
6 001
7 001
8 001
. .
. .
. .
如何才能实现下面的效果(如果城市ID相同就隔开3位将userid和cityid更新到座位表,反正能实现相同城市的学不座在一起就行),求具
体SQL语句,谢谢!
zwid kcid userid cityid
1 001 003 4501
2 001 002 4502
3 001 009 4512
4 001 007 4504
5 001 001 4501
6 001 006 4502
7 001 008 4505
8 001 004 4503
9 001 005 4502
. .
. .
. .
------解决思路----------------------
这是一个算法问题。
可以循环遍历学生表,将遍历到的*插入座位表。每次插入之前判断已经插入的座位数据前三个座位是否有相同城市;是,则不插入;否,则插入。
不停地循环,直到学生表全部被插入为止。循环过程中要排除已经插入的*。