所以这是我从头开始编写的第一个PHP脚本(如果它甚至被称为?),当它应用于现有(和其他工作)页面时,我遇到了一个问题,页面显示空白。我希望有许多比我更好,更有经验的人可以看一看,发现毫无疑问是一个明显的语法错误。提前感谢任何向我展示光明的人!
<?php
$sql = "SELECT * FROM 'jos_downloads_files'";
$rows = $db->fetch_all_array($sql);
foreach($rows as $row) {
$filename = $row['filetitle'];
$filepath = $row['realname'];
$featured = $row['featured'];
$id = $row['containerid'];
}
foreach ($id as $containername) {
if ($id == 2) {
$containername ="Incidental Information";
}
if ($id == 3) {
$containername ="Monitoring Reports";
}
if ($id == 4) {
$containername ="Agendas";
}
if ($id == 5) {
$containername ="Decision Prep";
}
if ($id == 6) {
$containername ="Agendas";
}
if ($id == 7) {
$containername ="Policy Governance";
}
echo '<div class = "moduletable">
<h3>' . $containername . '</h3>';
foreach ($featured as $featureedtrue) {
if ($featuredtrue == 1) {
echo '<ul class="weblinks">
<li>
<a>' . $filename . '</a>
</li>';
}
}
}
?>
答案 0 :(得分:0)
正如celeriko所说,你在使用它之前从未声明$db
。正如Xatenev所说,我不确定fetch_all_array
是什么,也许是fetchAll()
?最后,正如Valery Statichny所说,$id
永远不会是一个数组。
将来,打开错误报告会很有帮助,这样您就可以看到脚本崩溃的位置。您可以通过添加以下内容来完成此操作:
ini_set('display_errors',1);
error_reporting(E_ALL);
在生产环境中,关闭错误报告,以便用户看不到错误消息。
修改强>
更多来自Xatenev:
为什么要循环foreach $精选? $ featured目前只能是一个条目。你必须写$ featured [] = $ row ['featured'];得到一个你可以循环的数组。与$ id相同。你正在循环使用$ features但是使用$ filename呢? $ filename将在每次循环$ features时打印一个数组。因此,例如,当您在$ features中有100个条目时,在打印$ filename时,您有100x相同的内容。 - Xatenev