Перейти к содержимому


Фото
- - - - -

Определенное количество брендов

brand количество

Best Answer yr4ik , 14.01.2019 - 23:48



вроде бы речь не о сортировке. А о лимитах.

 

 

api/Brands.php в функцию get_brands добавляем

 

$sql_limit = '';
if(isset($filter['limit']) || isset($filter['page']))
{
	$limit = 100;
	$page = 1;
	
	if(isset($filter['limit']))
		$limit = max(1, intval($filter['limit']));

	if(isset($filter['page']))
		$page = max(1, intval($filter['page']));

	$sql_limit = $this->db->placehold(' LIMIT ?, ? ', ($page-1)*$limit, $limit);
}

далее подправляем запрос тут же 

 

		$query = $this->db->placehold("SELECT DISTINCT b.id, b.name, b.url, b.meta_title, b.meta_keywords, b.meta_description, b.description, b.image
								 		FROM __brands b $category_id_filter ORDER BY b.name $sql_limit");

 

PS: что то редактор на форуме вообще поплыл.. Сообщения как попало отображаются... 

Перейти к посту


  • Чтобы отвечать, сперва войдите на форум
7 ответов в теме

#1 DarAmal

DarAmal
  • Пользователь
  • 754 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x

Опубликовано 14.01.2019 - 22:36

Друзья, как ограничить вывод всех брендов определенным количеством?

 

Пишу:

{get_brands var=all_brands limit=12}

ничего не меняется.

 

Подскажите, пожалуйста, как это сделать.

Спасибо большое!



#2 shooroop

shooroop
  • Фрилансер
  • 822 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Antarktida

Опубликовано 14.01.2019 - 23:45

Когда вы перестанете задавать вопросы которые тысячу раз уже были на форуме и начнете пользоваться поиском. http://forum.simplac...ровка-брендов/ первое сообщение с середины



#3 yr4ik

yr4ik
  • Фрилансер
  • 921 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:Украина Чернигов

Опубликовано 14.01.2019 - 23:48   Best Answer



вроде бы речь не о сортировке. А о лимитах.

 

 

api/Brands.php в функцию get_brands добавляем

 

$sql_limit = '';
if(isset($filter['limit']) || isset($filter['page']))
{
	$limit = 100;
	$page = 1;
	
	if(isset($filter['limit']))
		$limit = max(1, intval($filter['limit']));

	if(isset($filter['page']))
		$page = max(1, intval($filter['page']));

	$sql_limit = $this->db->placehold(' LIMIT ?, ? ', ($page-1)*$limit, $limit);
}

далее подправляем запрос тут же 

 

		$query = $this->db->placehold("SELECT DISTINCT b.id, b.name, b.url, b.meta_title, b.meta_keywords, b.meta_description, b.description, b.image
								 		FROM __brands b $category_id_filter ORDER BY b.name $sql_limit");

 

PS: что то редактор на форуме вообще поплыл.. Сообщения как попало отображаются... 


Изменено: yr4ik, 14.01.2019 - 23:52


#4 shooroop

shooroop
  • Фрилансер
  • 822 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Antarktida

Опубликовано 14.01.2019 - 23:50

 
вроде бы речь не о сортировке. А о лимитах

 

перед пунктом 3 написано серым шрифтом P.S.: Аналогичным образом можно добавить параметр limit



#5 shooroop

shooroop
  • Фрилансер
  • 822 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Antarktida

Опубликовано 14.01.2019 - 23:52

если сложно то можно и по другому

 

    	public function get_rand_brands($count = 2)
    	{
    		$brands = array();
    		$category_id_filter = '';
    		// Выбираем все бренды
    		$query = $this->db->placehold("SELECT id, name, url, meta_title, meta_keywords, meta_description, description, image FROM __brands WHERE 1 ORDER BY RAND() LIMIT $count");
    		$this->db->query($query);
     
    		return $this->db->results();
    	}

 

и вывод

 

    $brand_limit = $this->brands->get_rand_brands(15);
          $this->design->assign('brand_limit', $brand_limit);


#6 yr4ik

yr4ik
  • Фрилансер
  • 921 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:Украина Чернигов

Опубликовано 15.01.2019 - 00:02

перед пунктом 3 написано серым шрифтом P.S.: Аналогичным образом можно добавить параметр limit

 

ну там только эта фраза и есть) Аналогично в симпле много чего добавляется.

 

на счет след поста с ф-ей: 

я думаю это сильное усложнение и клонирование функций. Зачем это делать, если можно доработать фильтр основной ф-и и получить более обширный функционал без негативных излишеств?


Изменено: yr4ik, 15.01.2019 - 00:03


#7 DarAmal

DarAmal
  • Пользователь
  • 754 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x

Опубликовано 15.01.2019 - 09:38

Когда вы перестанете задавать вопросы которые тысячу раз уже были на форуме и начнете пользоваться поиском.  первое сообщение с середины

 

Спасибо за ответ. К сожалению, в поиске не нашел это.


Изменено: DarAmal, 15.01.2019 - 09:40


#8 DarAmal

DarAmal
  • Пользователь
  • 754 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x

Опубликовано 15.01.2019 - 09:41



вроде бы речь не о сортировке. А о лимитах.

 

 

api/Brands.php в функцию get_brands добавляем

 

$sql_limit = '';
if(isset($filter['limit']) || isset($filter['page']))
{
	$limit = 100;
	$page = 1;
	
	if(isset($filter['limit']))
		$limit = max(1, intval($filter['limit']));

	if(isset($filter['page']))
		$page = max(1, intval($filter['page']));

	$sql_limit = $this->db->placehold(' LIMIT ?, ? ', ($page-1)*$limit, $limit);
}

далее подправляем запрос тут же 

 

		$query = $this->db->placehold("SELECT DISTINCT b.id, b.name, b.url, b.meta_title, b.meta_keywords, b.meta_description, b.description, b.image
								 		FROM __brands b $category_id_filter ORDER BY b.name $sql_limit");

 

PS: что то редактор на форуме вообще поплыл.. Сообщения как попало отображаются... 

 

Огромное спасибо. Отлично работает!







Также с меткой «brand, количество»

0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых