![]() |
![]() ![]() |
![]() |
-Gość- |
![]()
Post
#1
|
Goście ![]() |
Witam
Jak przerobić wyszukiwarkę, aby w polu miasto pojawiała się lista wyboru miast z bazy danych? Moduł wyszukiwarki search.php: CODE defined ('_JEXEC') or die('Restricted access'); if(JRequest::getVar('option')!='com_djclassifieds'){ $document=& JFactory::getDocument(); $cs = JURI::base().'components/com_djclassifieds/style.css'; $document->addStyleSheet($cs); } ?> <div class="dj_cf_search"> <form action="index.php" method="post" name="" id="form-search"> <input type="hidden" name="option" id="opt_search" value="com_djclassifieds" /> <input type="hidden" name="view" value="show_search" /> <input type="text" size="12" name="search" value="" class="inputbox" /> <input type="text" size="12" name="miasto" value="" class="inputbox" /> <input type="hidden" name="Itemid" value="54" /> <button type="submit" class="button" onfocus="blur();" >Szukaj</button> </form> </div> Moduł show.php: CODE function getAllElements(){ global $mainframe; $par =& $mainframe->getParams('com_djclassifieds'); $limit = JRequest::getVar('limit', $par->get('limit_djitem_show'), '', 'int'); $limitstart = JRequest::getVar('limitstart', 0, '', 'int'); $search = ''; if(JRequest::getVar('search','0','string')!='0'){ $search = " AND CONCAT(i.name,i.intro_desc,i.description) LIKE '%".JRequest::getVar('search','0','string')."%' "; } if(JRequest::getVar('miasto','','','string')!=''){ $search .= " AND i.intro_desc LIKE '%".JRequest::getVar('miasto','','','string')."%' "; } $db= &JFactory::getDBO(); $order = JRequest::getVar('order'); $ord="i.id DESC"; if($order=="date"){ $ord="i.date_start DESC "; }elseif($order=="display"){ $ord="i.display DESC "; }elseif($order=="description"){ $ord="i.intro_desc "; }elseif($order=="category"){ $ord="c.name "; }elseif($order=="title"){ $ord="i.name "; } $date_time =& JFactory::getDate(); $date_all=$date_time->toMySQL(); $date = explode(' ',$date_all); $query1 = "(SELECT i.*, c.name AS c_name FROM #__djcf_items i, #__djcf_categories c WHERE i.cat_id = c.id AND i.date_exp > '".$date[0]."' AND i.published = 1 AND i.special = 1 ".$search." ORDER BY ".$ord.")"; $query2 = "(SELECT i.*, c.name AS c_name FROM #__djcf_items i, #__djcf_categories c WHERE i.cat_id = c.id AND i.date_exp > '".$date[0]."' AND i.published = 1 AND i.special = 0 ".$search." ORDER BY ".$ord.")"; // $query = $query1." UNION ".$query2; $db->setQuery($query1); $tab1=$db->loadObjectList(); $db->setQuery($query2); $tab2=$db->loadObjectList(); $size1 = count($tab1); $tab=array(); $lend=$limitstart+$limit; if($lend<=$size1){ $i=0; foreach($tab1 as $t){ if($limitstart<=$i && $lend>$i){ $tab[]=$t; }elseif($lend<=$i){ break; } $i++; } }else if($limitstart<=$size1 && $lend>$size1){ $i=0; foreach($tab1 as $t){ if($limitstart<=$i && $lend>$i){ $tab[]=$t; } $i++; } foreach($tab2 as $t){ if($limitstart<=$i && $lend>$i){ $tab[]=$t; }elseif($lend<=$i){ break; } $i++; } }else{ $i=$size1; foreach($tab2 as $t){ if($limitstart<=$i && $lend>$i){ $tab[]=$t; }elseif($lend<=$i){ break; } $i++; } } //$this->_elems=$db->loadObjectList(); //$Arows = $this->_getList($query, $limitstart, $limit); return $tab; } function getCountAllElements(){ global $mainframe; $par =& $mainframe->getParams('com_djclassifieds'); $search = ''; if(JRequest::getVar('search','0','string')!='0'){ $search = " AND name LIKE '%".JRequest::getVar('search','0','string')."%' "; } if(JRequest::getVar('miasto','','','string')!=''){ $search .= " AND i.intro_desc LIKE '%".JRequest::getVar('miasto','','','string')."%' "; } $date_time =& JFactory::getDate(); $date_all=$date_time->toMySQL(); $date = explode(' ',$date_all); $db= &JFactory::getDBO(); $query = "SELECT COUNT(*) FROM #__djcf_items WHERE date_exp > '".$date[0]."' AND published = 1 ".$search." "; $db->setQuery($query); $res=$db->loadResult(); return $res; } Moduł controller.php: CODE $miasto = JRequest::getVar('miasto', '', 'default', 'string'); $redirect= 'index.php?option=com_djclassifieds&view=show&cid=0&order=title&search='.$se.'&miasto='.$miasto.'&Itemid='.$itemid; Z góry dzięki za pomoc |
|
|
-Gość- |
![]()
Post
#2
|
Goście ![]() |
Widzę, że muszę sam to rozkminić (IMG:style_emoticons/default/sad.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 23:31 |