我的系统有2个不同的帐户人员和学生。
用户帐户详细信息(登录名,名称)都存储在useraccount表中。 学生有另一个名为Task的表。
我以员工身份登录,我希望通过点击其姓名旁边的查看链接来查看学生的任务。
现在,如果我点击学生的视图链接,它将只显示任务表中的所有内容,但这不是我想要的,它应该只显示属于该学生的任何内容。我不知道怎么办这个可以请你帮忙吗?
<?php
while($row = mysqli_fetch_array($result)){
?>
<tr>
<td><?php echo $row['username'] ; ?></td>
<td><?php echo $row['firstname'] ; ?></td>
<td><?php echo $row['surname'] ; ?></td>
<td><a href="viewStudent.php<?php echo'?task_id='.$row['task.account_id']; ?>">
View Account</a></td>
<?php
}
}
?>
这是数据库表:
CREATE TABLE userAccount (
account_id SMALLINT NOT NULL AUTO_INCREMENT,
username varchar(7) NOT NULL,
password varchar(8) NOT NULL,
firstname varchar(50) NOT NULL,
surname varchar (30) NOT NULL,
email varchar(50) NOT NULL,
permission ENUM('Student', 'Staff') NOT NULL,
PRIMARY KEY (account_id)
)
CREATE TABLE staff (
staff_id SMALLINT NOT NULL AUTO_INCREMENT,
account_id SMALLINT NOT NULL,
PRIMARY KEY (staff_id),
FOREIGN KEY (account_id) REFERENCES userAccount(account_id)
)
CREATE TABLE IF NOT EXISTS `task` (
`task_id` smallint(6) NOT NULL AUTO_INCREMENT,
`taskName` varchar(100) NOT NULL,
`description` varchar(300) NOT NULL,
`starts` date NOT NULL,
`finish` date NOT NULL,
`progress` varchar(300) NOT NULL,
`status` varchar(10) NOT NULL,
`account_id` smallint(6) NOT NULL,
`staff_id` varchar(100) DEFAULT NULL,
PRIMARY KEY (`task_id`),
KEY `account_id` (`account_id`),
KEY `staff_id` (`staff_id`)
)
答案 0 :(得分:0)
我无法看到viewStudent.php的代码或用于while循环的查询,所以我对我的帮助方式有所限制。
但是,我认为这个SQL查询适用于viewStudent.php。
$sql = "SELECT * FROM task WHERE account_id=".intval($_GET['task_id']);
答案 1 :(得分:-1)
您没有在上面提供主要查询,但我认为您缺少account_id = $ account_id条件。
@ user3341382您似乎在发送带有task_id
名称的参数,并尝试在会话中使用account_id
。 (根据您在James T的回答评论中给出的查询发表评论)