Как передать несколько переменных в ссылку?

Тема в разделе "Как сделать...", создана пользователем silmarion, 24 янв 2014.

  1. silmarion

    silmarion

    Регистр.:
    21 июн 2012
    Сообщения:
    194
    Симпатии:
    19
    Доброго всем времени суток, возник такой вопрос
    Joomla 2.5
    Virtuemart 2
    Делаю ручной фильтр по производителям и коллекциям
    Для этой цели мне нужно получить в ссылку такие значения:

    index.php?brand=blablalba&collection=blablalba

    С брендом проблем нет, все фильтрует
    при выборе бренда сделал так чтобы появлялась форма с выбором коллекции, но если выбираешь коллекцию, то ?brand= заменяется на ?Collection=
    а не добавляется в конец ссылки как мне нужно ?brand=xxx&collection=yyy
    Как правильно реализовать данное?

    Код:
    <?
    $db =& JFactory::getDBO();
    $ex=$this->category->virtuemart_category_id;
    $d1='SELECT * FROM plitka4_virtuemart_product_categories,plitka4_virtuemart_products where plitka4_virtuemart_products.virtuemart_product_id = plitka4_virtuemart_product_categories.virtuemart_product_id AND plitka4_virtuemart_product_categories.virtuemart_category_id = '.$ex.' group by product_sku3';
    $db->setQuery($d1);$data_rows_assoc_list = $db->loadAssocList(); ?>
    <form method="get" target="_self" action="">
       <div style="width:780px;padding:10px 0">
       <div style=""><h2 style="font-size:14px;padding-bottom:10px">Производители:</h2>
       </div>
    <div  style="background:#ffedd5;height:50px;line-height:50px;padding-left:20px">
    <DIV class="pro" Style="width:14%;float:left"><div><label> <input type="radio"  onchange="this.form.submit()" name="brand" value="" /> <span><b><img src="templates/gk_yourshop/images/dot.jpg"/> Все</b></span> </label></div></div>
    <? $abc=array($data_rows_assoc_list);foreach($abc as $base_key => $base_value) { foreach($base_value as $key => $value) { ?>
    <DIV class="pro" Style="width:14%;float:left">
    <div><label> <input type="radio"  onchange="this.form.submit()" name="brand" value="<?echo $value['product_sku3']; ?>" /><span><img src="templates/gk_yourshop/images/dot.jpg"/> <?echo $value['product_sku3']; ?></span> </label></div></div>
       
    <?}}?>
       </div>
    <button type="submit" style="display:none">Ок</button>
       </div>
    </form>
    
    <? $brands=$_GET['brand'];?>
    
       
    <? $collections=$_GET['collections'];?>
    
    <? $d2='SELECT * FROM plitka4_virtuemart_product_categories,plitka4_virtuemart_products
    where
    plitka4_virtuemart_products.virtuemart_product_id = plitka4_virtuemart_product_categories.virtuemart_product_id
    AND
    plitka4_virtuemart_product_categories.virtuemart_category_id = '.$ex.'
    AND
    plitka4_virtuemart_products.product_sku3 = '.$brands.'
    group by product_sku2';
    $db->setQuery($d2);$data_rows_assoc_list1 = $db->loadAssocList(); ?>
    <? //print_r($data_rows_assoc_list1);?>
    <? if ($brands != ''){?>
    
    <form method="get" target="_self" action="">
    <div style="width:780px;padding:10px 0">
    <div style=""><h2 style="font-size:14px;padding-bottom:10px">Коллекции:</h2></div>
    <div  style="background:#ffedd5;height:50px;line-height:50px;padding-left:20px">
    <DIV class="pro" Style="width:12%;float:left"><div><label> <input type="radio"  onchange="this.form.submit()" name="collections" value="" /> <span><b><img src="templates/gk_yourshop/images/dot.jpg"/> Все</b></span> </label></div></div>
    <input type="hidden" name="brand"  value="<?echo $brands; ?>">
    <? $cde=array($data_rows_assoc_list1);foreach($cde as $base_key1 => $base_value1) { foreach($base_value1 as $key => $value1) { ?>
    
       
       <DIV class="pro" Style="width:12%;float:left">
         
    <div><label> <input type="radio"  onchange="this.form.submit()" name="collections" value="<? echo $value1['product_sku2']; ?>" /> <span><img src="templates/gk_yourshop/images/dot.jpg"/> <?echo $value1['product_sku2']; ?></span> </label></div></div>
    <?}}?>
       </div>
    <button type="submit" style="display:none">Ок</button>
       </div>
    </form>
    
         <?}?>
           <hr />
           <table><tr><td>
    <?    if ($brands != ''){?>
       <div class="clear"></div>
         <div>   
         <form method="get" target="_self" action="">
       <h3 style="font-size:13px;color:#404040">Производитель: <span style="color:#ff9306;"><? echo $brands; ?><span class="pro"><label class="close"> <input type="radio" onchange="this.form.submit()" name="brand" value="" /> <span style="margin-top:3px"><img src="templates/gk_yourshop/images/close.jpg" /></span></label></span></span></h3>
         </form>
         </div>   
    <?}?>
         </td><td>
    <?   if ($collections != ''){?>
       <div class="clear"></div>
         <div>   
         <form method="get" target="_self" action="">
       <h3 style="font-size:13px;color:#404040">Коллекция: <span style="color:#ff9306;"><? echo $collections; ?><span class="pro"><label class="close"> <input type="radio" onchange="this.form.submit()" name="collections" value="" /> <span style="margin-top:3px"><img src="templates/gk_yourshop/images/close.jpg" /></span></label></span></span></h3>
         <input type="hidden" name="brand"  value="<?echo $brands; ?>">
         </form>
         </div>   
    <?}?>     
       </td></tr></table>
         <hr />
    
    
    Ссылка на сайт:

    Чтобы не приняли за рекламу прячу под хайд
     
    Последнее редактирование: 27 янв 2014
  2. Genk0

    Genk0 Инквизитор из раздела J!

    Moderator
    Регистр.:
    2 июн 2010
    Сообщения:
    1.639
    Симпатии:
    1.337
    в форме нет параметра brand который бы передавался в запрос
     
  3. silmarion

    silmarion

    Регистр.:
    21 июн 2012
    Сообщения:
    194
    Симпатии:
    19
    Brand передается в первой форме, фильтр по производителю работает

    При выборе производителя к ссылке добавляется ?brand=blabla
    и появляется еще одно поле где можно выбрать коллекцию

    Как сделать чтобы при выборе коллекции в ссылку добавлялось ?brand=blabla&collections=blablabla

    Сейчас у меня просто заменяется ?brand на ?collections
    естественно не срабатывает фильтр, потому что он ориентируется на ?brand в первую очередь
     
    Последнее редактирование: 24 янв 2014
  4. Genk0

    Genk0 Инквизитор из раздела J!

    Moderator
    Регистр.:
    2 июн 2010
    Сообщения:
    1.639
    Симпатии:
    1.337
    во второй форме нет параметра brand, именно поэтому происходит замена.
    Пропишите во вторую форму переменную brand в виде скрытого поля, значение которого получается из $_GET['brand']
    <input type="hidden" value="<?= $_GET['brand'] ?>">
     
  5. silmarion

    silmarion

    Регистр.:
    21 июн 2012
    Сообщения:
    194
    Симпатии:
    19
    Всем спасибо за помощь, вроде как заработало.

    Теперь правда пагинация перестала работать:D

    буду дальше ковырять
     
    Последнее редактирование: 27 янв 2014