if($_MODULE[huoqubaobei]=="2")
{
$arr = explode(',',$_MODULE[item_1]);
foreach($arr as $value)
{
    $items=$itemManager-> queryById ($value);
    }
}
elseif($_MODULE[huoqubaobei]=="1")
{
      $items=$itemManager->queryByKeyword("","hotsell",9);
}
elseif($_MODULE[huoqubaobei]=="3")
{
      $items = $itemManager->queryByCategory($categoryId,"hotsell",10);
}if($items) 
{
foreach($items as $item)
{
    $itemUrl = $uriManager->detailURI($item); 
$itemPicUrl = $item->getPicUrl(160);
    $itemTitle = $item->title;
$itemPrice = $item->price;
$itemsoldCount = $item->soldCount; 
echo $itemUrl;
echo $itemPicUrl;
echo $itemTitle;
echo $itemPrice;
echo $itemsoldCount;
 }
}else
{
$itemUrl ="#"; 
    $itemPicUrl = "assets/images/nvtp.jpg";
    $itemTitle = "请添加宝贝描述请添加宝贝描述请添加宝贝描述请";
$itemPrice = 628;
$itemsoldCount =89; 
echo $itemUrl;
echo $itemPicUrl;
echo $itemTitle;
echo $itemPrice;
echo $itemsoldCount;
}

解决方案 »

  1.   

    而且 我最后面的else 其实是elseif($_MODULE[huoqubaobei]=="4")
      

  2.   


    意思就是,你看每個if else裏面都有
                  echo $itemUrl;
                    echo $itemPicUrl;
                    echo $itemTitle;
                    echo $itemPrice;
                    echo $itemsoldCount; 
    可以在結束位置加上,不需要在每個if else裏面寫。
    $response= ''; switch($_MODULE[huoqubaobei]){
    case "2":
    $arr = explode(',',$_MODULE[item_1]);
    foreach($arr as $value){
    $item=$itemManager-> queryById ($value);
    $items = array_push($items, $item);
    }
    case "1":
    $items = $itemManager->queryByKeyword("","hotsell",9);
    case "3":
    $items = $itemManager->queryByCategory($categoryId,"hotsell",10);
    default:
    $items = array();
    } if($items){
    foreach($items as $item){
    $itemUrl = $uriManager->detailURI($item); 
    $itemPicUrl = $item->getPicUrl(160);
    $itemTitle = $item->title;
    $itemPrice = $item->price;
    $itemsoldCount = $item->soldCount; 
    $response .= $itemUrl.$itemPicUrl.$itemTitle.$itemPrice.$itemsoldCount
    }
    }else{
    $itemUrl ="#"; 
    $itemPicUrl = "assets/images/nvtp.jpg";
    $itemTitle = "请添加宝贝描述请添加宝贝描述请添加宝贝描述请";
    $itemPrice = 628;
    $itemsoldCount =89;
    $response .= $itemUrl.$itemPicUrl.$itemTitle.$itemPrice.$itemsoldCount
    } echo $response;
      

  3.   

    修改了一下,這樣才對。 $response= ''; $items = array(); switch($_MODULE[huoqubaobei]){
    case "2":
    $arr = explode(',',$_MODULE[item_1]);
    foreach($arr as $value){
    $item=$itemManager-> queryById ($value);
    array_push($items, $item);
    }
    case "1":
    $items = $itemManager->queryByKeyword("","hotsell",9);
    case "3":
    $items = $itemManager->queryByCategory($categoryId,"hotsell",10);
    } if($items){
    foreach($items as $item){
    $itemUrl = $uriManager->detailURI($item); 
    $itemPicUrl = $item->getPicUrl(160);
    $itemTitle = $item->title;
    $itemPrice = $item->price;
    $itemsoldCount = $item->soldCount; 
    $response .= $itemUrl.$itemPicUrl.$itemTitle.$itemPrice.$itemsoldCount
    }
    }else{
    $itemUrl ="#"; 
    $itemPicUrl = "assets/images/nvtp.jpg";
    $itemTitle = "请添加宝贝描述请添加宝贝描述请添加宝贝描述请";
    $itemPrice = 628;
    $itemsoldCount =89;
    $response .= $itemUrl.$itemPicUrl.$itemTitle.$itemPrice.$itemsoldCount
    } echo $response;
      

  4.   

    这段代码其实应该写成类并继承$itemManager的类(或组成对象链)会更好
      

  5.   

    1、形如
    echo $itemUrl;
    echo $itemPicUrl;
    echo $itemTitle;
    echo $itemPrice;
    echo $itemsoldCount;
    的可简化为
    show($itemUrl, $itemPicUrl, $itemTitle, $itemPrice, $itemsoldCount);
    function show() {
      echo join('', func_get_args());
    }函数 show 中可做各种美化工作2、原式就可写作
    if($_MODULE[huoqubaobei]=="2")
    {
    $arr = explode(',',$_MODULE[item_1]);
     foreach($arr as $value){
    $item=$itemManager-> queryById ($value);
    show($uriManager->detailURI($item),
    $item->getPicUrl(160),
    $item->title,
    $item->price,
    $item->soldCount
    );
    }
    }
    else if($_MODULE[huoqubaobei]=="1")
    {
    $items=$itemManager->queryByKeyword("","hotsell",9);
    foreach($items as $item ){
    show($uriManager->detailURI($item),
    $item->getPicUrl(160),
    $item->title,
    $item->price,
    $item->soldCount
    );
    }
    }
    else if($_MODULE[huoqubaobei]=="3")
    {
    $items = $itemManager->queryByCategory($categoryId,"hotsell",10);
    foreach($items as $item){
    show($uriManager->detailURI($item),
    $item->getPicUrl(160),
    $item->title,
    $item->price,
    $item->soldCount
    );
    }
    }
    else
    {
    show("#",
    "assets/images/nvtp.jpg",
    "请添加宝贝描述请添加宝贝描述请添加宝贝描述请",
    628,
    89,
    );
    }
    3、考虑到前三个分支存在相同的取数方法,于是可以再写一个函数function item_show($items, $uriManager) {
    foreach($items as $item){
    show($uriManager->detailURI($item),
    $item->getPicUrl(160),
    $item->title,
    $item->price,
    $item->soldCount
    );
    }
    }4、代码就进一步变为if($_MODULE[huoqubaobei]=="2")
    {
    $arr = explode(',',$_MODULE[item_1]);
     foreach($arr as $value){
    items_show(array($itemManager->queryById($value)), $uriManager);
    }
    }
    else if($_MODULE[huoqubaobei]=="1")
    {
    items_show($itemManager->queryByKeyword("","hotsell",9), , $uriManager);
    }
    else if($_MODULE[huoqubaobei]=="3")
    {
    items_show($itemManager->queryByCategory($categoryId,"hotsell",10), $uriManager);
    }
    else
    {
    show("#",
    "assets/images/nvtp.jpg",
    "请添加宝贝描述请添加宝贝描述请添加宝贝描述请",
    628,
    89,
    );
    }function show() {
    echo join('', func_get_args());
    }function items_show($items, $uriManager) {
    foreach($items as $item){
    show($uriManager->detailURI($item),
    $item->getPicUrl(160),
    $item->title,
    $item->price,
    $item->soldCount
    );
    }
    }
      

  6.   

    哈哈 最后一楼是对的
    $itemUrl ="#"; 
            $itemPicUrl = "assets/images/nvtp.jpg";
            $itemTitle = "请添加宝贝描述请添加宝贝描述请添加宝贝描述请";
            $itemPrice = 628;
            $itemsoldCount =89;
            $response .= $itemUrl.$itemPicUrl.$itemTitle.$itemPrice.$itemsoldCount
    怎么写到循环上
      

  7.   


     foreach($items as $item){ 次数跟他一样
      

  8.   

    最后一種情況,你的items都沒有獲取,如何循環?
      

  9.   


    其实他前面if($items)判断是不对的不能这样判断我最后面是else if($_MODULE[huoqubaobei]=="4") 判断的 
      

  10.   

    没看到有什么东西要循环的。。
    else
    {
             $itemUrl ="#"; 
                    $itemPicUrl = "assets/images/nvtp.jpg";
                   $itemTitle = "请添加宝贝描述请添加宝贝描述请添加宝贝描述请";
                     $itemPrice = 628;
                    $itemsoldCount =89; 
                        echo $itemUrl;
                    echo $itemPicUrl;
                    echo $itemTitle;
                    echo $itemPrice;
                    echo $itemsoldCount;
    }