【问题标题】:PHP Basics - How to remove NoticePHP 基础 - 如何删除通知
【发布时间】:2013-08-16 12:00:46
【问题描述】:

我承认我不太了解 php 指南, 需要帮助 - 如果可能的话,关于一些基本的 php 通知。尽管可以通过关闭错误报告来安全地忽略它们。但是,正如所说的学习来自工作经验

已将错误报告功能开启到最大值 有 2 个示例通知 - 出现在具有不同变量的许多页面上

A) 注意:未定义变量:/home/truecar7/public_html/components/com_toys/products/search.php 中第 45 行的列表

B) 未定义的属性:/home/truecar7/public_html/components/com_toys/models/category.php 第 180 行中的 stdClass::$prod_small_pic

A 的功能是:-

function brand_drop_down(){
$mainframe =& JFactory::getApplication();
$option = JRequest::getCmd('option');
global $Itemid; 
$database = &JFactory::getDBO();
$sql = "SELECT * from #__toys_products where cat_status='1'  order by cat_sorder Asc";
$database->setQuery($sql);
$rows = $database->loadObjectList();
$list.="";
foreach($rows as $row){
$list.="<option value='".$row->cat_id."' style='padding-left:10px;'>".$row->cat_name."</option>";
}
return $list;

B 的函数是

$database->setQuery($sql);
$rows = $database->loadObjectList();
$list="";
if($rows){
$flg=0;
foreach($rows as $row){
if($row->prod_small_pic!=""){
$img = "uploads/products/".$row->cat_image;
}else{
$img="templates/pioneer_home/images/dvd1.jpg";
}       

我可以看到变量 - list 和 prod_small_pic 没有定义。我认为它们是空字符串。

我的意思是如何定义它们,或者更确切地说是删除此类错误通知的最佳方法。看到,多个页面上有许多错误通知,但变量不同

【问题讨论】:

  • $list .= "" 应该完成什么?您没有向从未存在的变量添加任何内容。

标签: php joomla error-handling joomla2.5 syntax-error


【解决方案1】:

A 的功能:

function brand_drop_down(){
    $mainframe =& JFactory::getApplication();
    $option = JRequest::getCmd('option');
    global $Itemid; 
    $database = &JFactory::getDBO();
    $sql = "SELECT * from #__toys_products where cat_status='1'  order by cat_sorder Asc";
    $database->setQuery($sql);
    $rows = $database->loadObjectList();
    // ***** changed next line
    $list="";
    foreach($rows as $row){
        $list.="<option value='".$row->cat_id."' style='padding-left:10px;'>".$row->cat_name."</option>";
    }
    return $list;
}

功能 B

$database->setQuery($sql);
$rows = $database->loadObjectList();
$list="";
if($rows){
    $flg=0;
    foreach($rows as $row){
        // ***** changed next line
        if(isset($row->prod_small_pic) && $row->prod_small_pic !==""){
            $img = "uploads/products/".$row->cat_image;
        }else{
            $img="templates/pioneer_home/images/dvd1.jpg";
        }
    }
}

【讨论】:

    【解决方案2】:

    第 45 行好像是在初始化变量,其实不是,应该是$list="";

    第 80 行在 $row 中查找属性,但它不包含它。也许您没有在查询中选择它?试试print_r($row) 看看里面有什么。

    另外,global $Itemid; - 不能让它成为函数参数吗? function brand_drop_down($Itemid){

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-22
      • 2012-12-22
      • 1970-01-01
      • 2012-05-20
      相关资源
      最近更新 更多