0

ここで助けが必要です。ここにカテゴリ選択用のスクリプトがあります。URL www.domain.com/zone.php?cat=Apple で使用すると動作し、Apple カテゴリのアイテムが表示されます

ただし、www.domain.com/zone.php?cat=Apple&cat=Orange&cat=Pear のような URL に 2 つ以上のカテゴリを配置して、Apple、Orange、および Pear のすべてのアイテムを表示したいと考えています。やり方は下から。

if (isset($_GET['cat']) && strtolower($_GET['cat'])!=='all'){
    $cat = DB::LimitQuery('category', array(
'condition' =>'name="'.$_GET['cat'].'"',
));

    $condition = array( 
            "(city_id = '0' OR find_in_set({$city['id']},city_id))",
            'product' => $cat[0]['id'],
            "begin_time <  {$daytime}",
            );
} else {
    $condition = array( 
            "(city_id = '0' OR find_in_set({$city['id']},city_id))",
            "begin_time <  {$daytime}",
            );      
}
4

3 に答える 3

0

より多くのカテゴリが必要な場合は、間違っています。それGETをキャッチするには、より多くのパラメータを設定する必要があります

$_GET['cat1']
$_GET['cat2']
$_GET['cat3']

ただし、単一のパラメーターで多くのカテゴリが必要な場合は、URL で正しくエンコードされる任意の文字でカテゴリを区切ると、次の,ようになります。

www.domain.com/zone.php?cat=アップル&,オレンジ,ナシ

そしてexplode()それはPHP側にあります

$cats = explode($_GET['cat'],',');
于 2013-04-11T11:28:54.223 に答える
0

あなたがする必要があります:

www.domain.com/zone.php?cat[]=Apple&cat[]=Orange&cat[]=Pear

に配列を作成し$_GET['cat']ます。

そしてphpで次のようにします:

$condition = array( 
            "(city_id = '0' OR find_in_set({$city['id']},city_id))",
            'product IN ( '.implode(','.$_POST['cat'].')',
            "begin_time <  {$daytime}",
            );

ただし、注射を避けるためにその値を確認する必要があります。

于 2013-04-11T11:32:17.543 に答える
0

index.php

<?php if(isset($_GET['arr']))
    {
        $id = $_GET['arr'];
        var_dump($id);
    }
    ?>


<?php $array =array('apple','orange','banana');
    $array = http_build_query(array('arr'=>$array));
    var_dump($array);
?>     

 <a href="index.php?<?php echo $array;?>">click</a>

これがあなたを助けることを願っています!

于 2013-04-11T12:21:57.493 に答える