请有人帮助我对PHP很新,所以请耐心等待。
使用以下代码链接到网站;
我基本上是从网站上复制代码(http://www.elated.com/articles/cms-in-an-afternoon-php-mysql/),并试图在我自己的网站项目中实现。
以下是问题代码....
<ul id="headlines">
<?php foreach ( $results['articles'] as $article ) { ?>
<li>
<h2>
<span class="pubDate"><?php echo date('j F', $article->publicationDate)?></span>
<a href=".?action=viewArticle&articleId=<?php echo $article->id?>"><?php echo htmlspecialchars( $article->title )?></a>
</h2>
<p class="summary"><?php echo htmlspecialchars( $article->summary )?></p>
</li>
<?php } ?>
</ul>
<p><a href="./?action=archive">Article Archive</a></p>
这是我的错误消息:
警告:在第3行的/Applications/XAMPP/xamppfiles/htdocs/news/homepage.php中为foreach()提供的参数无效
答案 0 :(得分:1)
$results['articles']
不是数组。你应该把它设置为一个空数组,或者当它不是一个数组时跳过foreach
循环 - null,string,number等。
<ul id="headlines">
<?php if (!$results['articles']) $results['articles'] = array(); ?>
<?php foreach ( $results['articles'] as $article ) { ?>
<li>
<h2>
<span class="pubDate"><?php echo date('j F', $article->publicationDate)?></span>
<a href=".?action=viewArticle&articleId=<?php echo $article->id?>"><?php echo htmlspecialchars( $article->title )?></a>
</h2>
<p class="summary"><?php echo htmlspecialchars( $article->summary )?></p>
</li>
<?php } ?>
</ul>
<p><a href="./?action=archive">Article Archive</a></p>
这只是一个快速修复。但是当你有一个空的$results['articles']
时,这可能意味着你的代码中有一个错误,它填满了那个数组,或者你没有符合你标准的文章=)
答案 1 :(得分:0)
“问题”代码与问题无关。
$ results ['articles']不是一个数组 - 就是这样。你必须验证分配了$ results ['articles']的代码,以找出问题所在。
您的数据库中很可能没有数据或类似数据。