-1

任何建议,以下是玩具变体的功能 - 功能 loadProductVarients

目前它的显示:-

a) 仅限玩具变体名称,其中我打算实现产品名称和变体名称。例如,如果 Hotwheels 是公司,法拉利是产品,Zsi 是它的变体。

现在下面的函数只显示 Zsi 作为变体名称,我打算实现法拉利 Zsi 作为变体名称

我认为需要在 $temp1 中添加产品变量,但尽管使用了许多组合 - 我无法实现它。

b) 其次是获取 PHP Notice: Undefined variable: temp1 & temp2 Notice in function loadproductvarients

我正在学习 PHP - 您的帮助和建议将不胜感激!

编辑

你好洛德,

原始功能

   function loadProductVarients($id,$minprice,$maxprice,$fuel_type){
        $mainframe =& JFactory::getApplication();
        $option = JRequest::getCmd('option');
        $database =& JFactory::getDBO();
        global $Itemid; 
        $Vcond="";
        if($minprice!="" and $maxprice!=""){
        $Vcond.=" and (v_price between ".$minprice." and ".$maxprice.")";
        }elseif($minprice){ $Vcond.=" and v_price >= ".$minprice."";
        }elseif($maxprice){ $Vcond.=" and v_price <= ".$maxprice."";}

        if($fuel_type!="")
            $Vcond.=" and v_fuel_type='$fuel_type' ";

        $sql = "Select *  from #__newcar_variants  Where v_prod_id='".$id."' $Vcond and v_status='1'";

        $database->setQuery($sql);
        $rows = $database->loadObjectList();
    $list="";
        if($rows){
            foreach($rows as $row){
                if($row->v_small_img!=""){
                    $img = "uploads/variants/".$row->v_big_img ;
                }else{
                    $img="templates/pioneer_home/images/dvd1.jpg";
                }       

    $temp1.='<li><a href="index.php?newcar&id='.$row->v_prod_id.'&vid='.$row->v_id.'">'.$row->v_name.'</a></li>';
    $temp2.='<li>Rs. '.$row->v_price.'</li>';
            }
            $list.='<div class="sliding-box-middle"><ul>'.$temp1.'</ul></div>';
            $list.='<div class="sliding-box-right"><ul>'.$temp2.'</ul></div>';

        }else{
            $list.='<p>No Variants.</p>';
        }
        return $list;
    }


  $sql = "Select *  from #__newcar_variants  Where v_prod_id='".$id."' $Vcond and v_status='1'";

以下是建议的修改后的代码,其中包含更改:-

       function loadProductVarients($id,$minprice,$maxprice,$fuel_type){
        $db = JFactory::getDBO();
        $Vcond="";
        if($minprice!="" and $maxprice!=""){
        $Vcond.=" and (v_price between ".$minprice." and ".$maxprice.")";
        }elseif($minprice){ $Vcond.=" and v_price >= ".$minprice."";
        }elseif($maxprice){ $Vcond.=" and v_price <= ".$maxprice."";}

        if($fuel_type!="")
            $Vcond.=" and v_fuel_type='$fuel_type' ";

        $query = $db->getQuery(true);
        $query->select('*');
        $query->from('#__newcar_variants');      
        $query->where($db->quote($Vcond), $db->quote($id), $db->quote('v_status=1'));    

        $db->setQuery($query);
        $rows = $db->loadObjectList();

        $list="";
        if($rows){
            foreach($rows as $row){
                if($row->v_small_img!=""){
                    $img = "uploads/variants/".$row->v_big_img ;
                }else{
                    $img="templates/pioneer_home/images/dvd1.jpg";
                }       

    $temp1.='<li><a href="index.php?newcar&id='.$row->v_prod_id.'&vid='.$row->v_id.'">'.$row->v_name.'</a></li>';
    $temp2.='<li>Rs. '.$row->v_price.'</li>';
            }
            $list.='<div class="sliding-box-middle"><ul>'.$temp1.'</ul></div>';
            $list.='<div class="sliding-box-right"><ul>'.$temp2.'</ul></div>';

        }else{
            $list.='<p>No Variants.</p>';
        }
        return $list;
    }
4

1 回答 1

1

您正在对未设置的变量使用串联。

代替

 $temp1.='<li><a href="index.php?new&id='.$row->v_prod_id.'&vid='.$row->v_id.'">'.$row->v_name.'</a></li>';
 $temp2.='<li>Rs. '.$row->v_price.'</li>';

经过

$temp1='<li><a href="index.php?new&id='.$row->v_prod_id.'&vid='.$row->v_id.'">'.$row->v_name.'</a></li>';
$temp2='<li>Rs. '.$row->v_price.'</li>';

或者

$temp1 = '';
$temp2 = '';
// CODE
$temp1.='<li><a href="index.php?new&id='.$row->v_prod_id.'&vid='.$row->v_id.'">'.$row->v_name.'</a></li>';
$temp2.='<li>Rs. '.$row->v_price.'</li>';

我没有得到你的第一个问题。

于 2013-08-25T05:49:54.387 回答