在这里,我正在完整地编写代码来解释我的问题。生成链接但列表不生成。 可能是什么问题呢?谢谢..
require 'database.php';
$query="SELECT subject.subjectName, subject.subjectId FROM course,subject where subject.subjectId=course.subjectId
and course.memberId=1";
$courses=$db->query($query);
?>
<!doctype html>
<html>
<head>
<title>foreach</title>
</head>
<body>
<?php foreach ($courses as $course):?>
<a href="#">
<?php echo $course['subjectName'];?>
</a>
<br>
<?php endforeach; ?>
<ul>
<?php foreach ($courses as $course):?>
<li>
<?php echo $course['subjectName'];?>
</li>
<?php endforeach; ?>
</ul>
</body>
</html>
答案 0 :(得分:1)
你的第二个代码在结束PHP标记之前有一个引用。
在
<?php foreach($courses as $course):?> <a href"<?php echo $course['courseName'] "?> </li>
<?php endforeach;?>
在
<?php foreach($courses as $course):?> <a href="<?php echo $course['courseName']; ?>">???</a>
<?php endforeach;?>
更容易阅读代码
<?php
foreach($courses as $course) {
echo '<a href="'.$course['courseName'].'">A Link</a>';
}
?>
答案 1 :(得分:0)
不,foreach不会修改对象。您可能在两个foreach块之间覆盖$ courses变量
答案 2 :(得分:0)
在此处键入代码或者在脚本中有完全相同的代码时,不确定它是否有错误但是请在第二次检查
在这里你缺少&#34; =&#34; href之后应该是这样的 缺少
答案 3 :(得分:0)
您检查过页面来源了吗?它可能被css隐藏,因为每个块中都有不同的HTML标记
答案 4 :(得分:0)
大家好,我终于得到了我的问题的答案,现在是:
在我的代码中,$ courses是一个PDOstatement对象,foreach循环调用fetch()方法,fetch()方法释放结果集,这意味着在foreach循环结束时不再有行。它全部被释放,所以我们不能再循环使用相同的$课程,因为它没有任何东西......
希望我没有遗漏任何东西......