-1

以下は、おもちゃのバリアントの関数です-関数loadProductVarients

現在、その表示:-

a) おもちゃの変形名のみ。製品名と変形名を取得する予定です。たとえば、Hotwheels が会社である場合、Ferrari は製品であり、Zsi はそのバリアントです。

以下の関数はバリアント名として Zsi のみを表示しています。フェラーリ Zsi をバリアント名として実現するつもりです。

製品の変数を $temp1 に追加する必要があると思いますが、多くの組み合わせを使用しているにもかかわらず、それを達成できません。

b) 2 番目は PHP 通知の取得です: 未定義の変数: temp1 & temp2 関数 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 に答える