我想要显示讲课表中的讲课信息,而条件是;与老师和course.so相同的id,我想要获取课程ID,但它不起作用。这个系统是教师选择一门特定的课程来观看它的课程。有什么建议吗?
<?PHP if($_GET)$getid= $_GET['id'];$q=mysqli_query($con,"select id from courses id='$getid' ");$n= mysqli_fetch_assoc($q);$id=$_SESSION['user'];
$teachid=$_SESSION['user']['id'];
$query = "SELECT * FROM lectures WHERE teacher_id=$teachid AND course_id=$getid";
$result = mysqli_query($con, $query);
while($row = mysqli_fetch_assoc($result))
{
?>
<tr>
<td><?php echo $row['id']; ?></td>
<td><?php echo $row['subject']; ?></td>
<td><?php echo $row['post']; ?></td>
<td><?php echo $row['photo']; ?></td>
<td><?php echo $row['teacher_id']; ?></td>
<td><?php echo $row['social_url']; ?></td>
<td><?php echo $row['course_id']; ?></td>
<td></td>
<td><button type="submit" class="button" name="doEdit" value="<?PHP echo $row['id'];?>">Edit</a>
<button type="submit" class="button" name="doDelete" value="<?PHP echo $row['id'];?>">Delete</a></td>
</tr>
<?PHP }
unset($row);
?>这是讲台:
`lectures`; CREATE TABLE `lectures`
( `id` int(11) NOT NULL,
`subject` varchar(255) NOT NULL, `post`
text NOT NULL,
`photo` varchar(255) NOT NULL,
`teacher_id` int(11) NOT NULL,
`social_url` varchar(255) NOT NULL,
`created` datetime NOT NULL,
`modified` datetime NOT NULL,
`course_id` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;`courses`; CREATE TABLE `courses`
( `id` int(11) NOT NULL,
`name` varchar(255) NOT NULL,
`photo` varchar(255) NOT NULL,
`course_cat_id` int(11) NOT NULL DEFAULT '1',
`user_id` int(11) NOT NULL,
`institute_id` int(11) NOT NULL,
`description` text NOT NULL,
`teacher_id` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;我想要的基本上是根据课程ID和注册教师的id来显示讲话表。
发布于 2018-04-30 00:08:42
由于某些原因,您在$getid中有一个空值。正因为如此,你的查询看起来会像这样。
SELECT * FROM lectures WHERE teacher_id=7 AND course_id=;(请注意,第二个=没有值权限。)这是一个无效的查询,它不会从数据库中检索任何内容,而只是触发一个错误。
if($_GET)$getid= $_GET['id'];...,添加到$_GET‘’id‘的内容中。也就是说,它被设置为请求的查询字符串中的id的值。
查询字符串是URL中位于其末尾的?之后的部分。假设您的脚本名为URL,并且位于www.myserver.com的web服务器的根目录中,则浏览器地址字段中的myscript.php必须如下所示
http://www.myserver.com/myscript.php?id=4在$_GET['id']中的值为4,然后在$getid中,最后在查询的第二次比较中。最后,在?之后的某个地方,这必须写在某个地方。但它不一定是唯一的一个。
(注意:我假设看起来滑稽的第一行是正常工作的,因为您没有报告PHP语法错误。尽管在我看来这有点不正统。你可以考虑用一种更“友好”和“标准”的方式来代替它。
if ($_GET)
{
$getid = $_GET['id'];
}如果我的假设是错误的,它不能正常工作。如前所述,该行中的SQL请求也不会做任何有用的事情。据我所知,它的结果从未在其他地方使用过。在读取代码时,这只是不必要的混乱。)
https://stackoverflow.com/questions/50080865
复制相似问题