使用PHP使页面呈现为空白的代码

使用PHP使页面呈现为空白的代码,php,syntax,render,Php,Syntax,Render,这是第一个PHP脚本,如果它被称为?我曾经白手起家地写过,我有一个问题,当它应用于现有的或其他工作页面时,页面显示为空白。我希望许多比我更优秀、更有经验的人中的一个能看一看,发现毫无疑问是一个明显的语法错误。提前感谢所有给我指路的人 <?php $sql = "SELECT * FROM 'jos_downloads_files'"; $rows = $db->fetch_all_array($sql); foreach($rows as $row) { $filename

这是第一个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>';
        }
    }
}   
?>

正如celeriko提到的,您在使用$db之前从未声明过它。正如Xatenev提到的,我不确定fetch_all_数组是什么,也许是fetchAll?最后,正如Valery Statichny提到的,$id永远不会是数组

在将来,打开错误报告会很有帮助,这样您就可以看到脚本在哪里崩溃。您可以通过添加以下内容来执行此操作:

ini_set('display_errors',1); 
error_reporting(E_ALL);
在生产环境中,关闭错误报告,以便用户不会看到错误消息

编辑

更多来自Xatenev:


你为什么循环使用每一美元$目前只能有一个条目。您必须写入$featured[]=$row['featured'];得到一个你可以循环通过的数组。同上,5美元。您正在循环使用$featured,但是否使用$filename$文件名将在每次循环通过$featured时打印一个数组。例如,当您在$featured中有100个条目时,您在打印$filename时有100x相同的内容Xatenev

打开错误报告。它应该告诉您错误和行号:您从未声明$db variable1。您从不声明$db变量。2.您是否使用数据库+本地服务器?3.什么是fetch\u all\u数组??我只知道PDO的事?4.你为什么循环使用每一美元$目前只能有一个条目。您必须写入$featured[]=$row['featured'];得到一个你可以循环通过的数组。同上,5美元。您正在循环使用$featured,但是否使用$filename$文件名将在每次循环通过$featured时打印一个数组。例如,当您在$featured中有100个条目时,您在打印$filename时有100倍的相同内容。$id永远不会是数组,所以$featured也是如此,因为每次迭代都会覆盖上一个定义。还有一些。。查看我的评论。^^Ha!清单不断增加:你认为我应该把它全部添加到答案中吗?快速的答案是错误报告,并将所有这些都整理好。他的问题中有很多基本错误。是的,我没有可以评论的角色了。^^谢谢你们的反馈。我知道这是基本的错误…我以前从来没有在PHP中诚实地做过这件事,至少这就是为什么我来找你们,你们这些好人。我想我可以回去编辑原来的问题来解释我在这里要做什么。@RussToms如果我是你,我会打开报告并修复错误,然后发布一个新问题。就目前而言,不会有太多人能够回答,因为代码本身做得太不恰当,没有冒犯之意。