PHP回显来自不同表的数据

时间:2014-03-23 11:27:05

标签: php echo

我的系统有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`)
 )

2 个答案:

答案 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的回答评论中给出的查询发表评论)