0
                    <? if (isset($menu_filter_sizes)) { ?>
                     <? for ($i = 0; $i < count($menu_filter_sizes); $i++) { ?>
                            <? if (!empty($menu_filter_sizes[$i]['name'])) { ?>                                    
                            <li>
                                <? if ($page->sp_size == $menu_filter_sizes[$i]['id']) { ?>
                                <? } else { ?><a href=""><? }; ?>
                                    <? echo $menu_filter_sizes[$i]['name']; ?>
                                <? if ($page->sp_size == $menu_filter_sizes[$i]['id']) { ?>
                                <? } else { ?></a><? }; ?>
                                (<? echo $menu_filter_sizes[$i]['quantity']; ?>)
                            </li>
                            <? }; ?>
                        <? }; ?>
                <? }; ?>

このコードは、さまざまな値(サイズなど)のリストを生成します。そして、私は自分のDBに「Nosize」と呼ばれる値を持っています。サイズのない商品の価値です。リスト内のすべての値を出力するPHPコードを提示します。

phpで「Nosize」という名前でその値を非表示にする方法??? 他の値のみを表示します。つまり、「Nosize」を除くすべての値を表示します。

MYSQL:

function GetShopFilterSizes($shopid,$category,$fcolor,$fbrand,$fytpe,$fpricefrom,$fpriceto){
    $thisdate = date("Y-m-d H:i:s", time());
    $sqlquery = "SELECT DISTINCT($this->basesq.size) AS id, $this->basesize.alias, $this->basesizelang.name, COUNT(DISTINCT($this->base.id)) as quantity FROM $this->base LEFT JOIN $this->basesq ON $this->basesq.productid = $this->base.id LEFT JOIN $this->basesize ON $this->basesq.size = $this->basesize.id LEFT JOIN $this->basesizelang ON $this->basesize.id = $this->basesizelang.sizeid AND $this->basesizelang.lang =  '".sql($this->thislang)."' WHERE $this->base.shopid = '".Sql($shopid)."' AND $this->base.exist = 1 AND $this->base.active = 1 AND $this->base.isdeleted = 0";
    if (count($category) > 0) {$sqlquery .= " AND (";};
    for ($i = 0; $i < count($category); $i++) {
        if ($i == 0) {$sqlquery .= "$this->base.categoryid = '".sql($category[$i])."'";}
        else {$sqlquery .= " OR $this->base.categoryid = '".sql($category[$i])."'";};
    };
    if (count($category) > 0) {$sqlquery .= ")";};

    if (!empty($fbrand)) {$sqlquery .= " AND $this->base.brand = '".sql($fbrand)."'";};
    if (!empty($ftype)) {$sqlquery .= " AND $this->base.type = '".sql($ftype)."'";};
    if (!empty($fcolor)) {$sqlquery .= " AND $this->basesq.color = '".sql($fcolor)."' AND $this->basesp.quantity > '0'";};
    if (!empty($fpricefrom)) {$sqlquery .= " AND ($this->base.price >= '".sql($fpricefrom)."')";};
    if (!empty($fpriceto)) {
        $sqlquery .= " AND (
            ($this->base.price <= '".sql($fpriceto)."') OR ($this->base.specialprice IS NOT NULL AND $this->base.specialprice < '".sql($fpriceto)."') OR ($this->base.salesprice IS NOT NULL AND $this->base.salesprice < '".sql($fpriceto)."' AND (($this->base.slprice_datestart IS NULL OR $this->base.slprice_datestart < '".$thisdate."') AND ($this->base.slprice_dateend IS NULL OR $this->base.slprice_dateend > '".$thisdate."')))
        )";
    };
    $sqlquery .= " GROUP BY $this->basesq.size";
    $result = mysql_query($sqlquery) or die(mysql_error()." in file: ".__FILE__.", line: ".__LINE__);
    return GetMySQLResultArray($result);
}

HTMLテキスト全体

<div class="box manufacturers">
                    <div class="box-heading" style="border-bottom: 1px solid #d8dae5;"><span><? echo $langdata['prlist_size']; ?></span></div>
                    <? if (isset($menu_filter_sizes)) { ?>
                    <div class="box-content">
                        <ul>
                            <? for ($i = 0; $i < count($menu_filter_sizes); $i++) { ?>
                                <? if($menu_filter_sizes[$i]['name']!='nosize') { ?>  
                                    <li>
                                    <? if ($page->sp_size == $menu_filter_sizes[$i]['id']) { ?><u>
                                    <? } else { ?><a href="<? echo ClearURL(array('success','size'),array('_size='.$menu_filter_sizes[$i]['alias'])); ?>"><? }; ?>
                                        <? echo $menu_filter_sizes[$i]['name']; ?>
                                    <? if ($page->sp_size == $menu_filter_sizes[$i]['id']) { ?></u>
                                    <? } else { ?></a><? }; ?>
                                    </strong> (<? echo $menu_filter_sizes[$i]['quantity']; ?>)
                                    </li>
                                    <?}else{?>
                                <? }; ?>
                            <? }; ?>
                        </ul>
                    </div>
                    <? }; ?>
                </div>
4

1 に答える 1

1
<? if (isset($menu_filter_sizes)) { 
    for ($i = 0; $i < count($menu_filter_sizes); $i++) { 
    if($menu_filter_sizes[$i]['size']!='Nosize') {//check if size is not equal to Nosize
                                
       } 
     } 
   } ?>

また、不要なすべての行でphpタグを開いたり閉じたりしています。

更新:OPコメントから

コードをdivの外に出す必要があります

      <? if (isset($menu_filter_sizes)) { 
                for ($i = 0; $i < count($menu_filter_sizes); $i++) { 
                if($menu_filter_sizes[$i]['size']!='Nosize') {//check if size is not equal to Nosize
    
    ?>
       <div class="box manufacturers">
    
    
        </div>
    
    <?                                        
      } 
    } 
   } 
 ?>
于 2013-01-10T12:25:11.667 に答える