所以,我有一个页面allocate.php?id=XXXXX
。它基本上根据id值从数据库中的各个表中获取数据,并相应地显示它们。它还允许用户编辑和处理相关数据。
现在,与id值关联的主表也有一个字段'priority',它决定了我需要遍历表的顺序。问题是:
说我在页面'allocate.php?id = 10000'。它具有'优先'值1.
下一页应显示“优先级”值为2的详细信息。它被分配给ID为“20001”的课程。基本上,我希望下一步转到'allocate.php?id = 20001'。
那么如何在每个分配页面上提供链接到下一个最高优先级分配的id值的动态链接?
如果您需要更多信息,请输入以下表格:
CREATE TABLE IF NOT EXISTS `course` (
`id` varchar(11) NOT NULL,
`name` varchar(30) NOT NULL,
`priority` int(2) NOT NULL,
PRIMARY KEY (`id`)
)
以下是值:
TUSCE100101
Course 101
1
TUSCE100102
Course 102
2
TUSCE100201
Course 201
2
NTUSCE100202
Course 202
3
TUSCE200301
Course 301
1
TUSCE200302
Course 302
4
谢谢!
编辑:对于那些认为问题过于简单或者我研究不够的人,我的问题是,当我检查优先级大于等于,并订购结果时,不计算当前页面,然后我可能会处于相同优先级别的课程之间切换的情况。例如:课程101,102和103具有相同的优先级。
我在101,搜索下一个的查询以随机顺序给我102和103。我选择第一个值,比如102。
现在在102时,相同的搜索选择查询会给我101和103,第一行可能是101.所以我最后来回切换。
编辑2
所以,我最终解决了这个问题。这是为了将来的参考。
我定义了一个名为“visit”的附加列,以指示特定行是否已访问过。未访问时默认值为0。
在访问每一行后,我将访问值标记为1,并根据查询选择下一个值,如“SELECT id FROM course WHERE priority> = $ currentPriority AND id!= $ currentId AND visit = 0”。
在最后一行,当上面的选择查询不会返回任何内容时,我将所有'visit'再次设置为0,并根据基于'priority'的有序查询选择第一个。这让我无限地遍历表格。
P.S。谢谢你的帮助。老实说,我对社区的奇怪反应感到有些失望,不过我相信我的问题并不是很清楚。对我的解决方案的反馈意见将不胜感激。
答案 0 :(得分:-1)
SELECT * FROM course WHERE id!=$currentID AND priority>=$currentPriority ORDER BY priority ASC
此SQL查询将为您提供下一个项目。