Вывод данных в цикле

Автор Сообщение

bojikodab

#1/16.09.2015 17:23
0

Аватар

Пользователи

Карма: +2

Доброго времени суток. Подскажите пожалуйста, хочу вывести ТОП проектов по просмотрам за последние 7 дней, Пока борюсь с проблемой цикла, выводит всегда 1 запись, что я не так делаю?

 

<?php
/**
 * [BEGIN_COT_EXT]
 * Hooks=index.tags
 * [END_COT_EXT]
 */
 
defined('COT_CODE') or die('Wrong URL');
// Количество реализованных проектов
 
 
$arr_sotrs = $db->query("SELECT item_title, item_count FROM $db_projects")->fetchAll();  
if(is_array($arr_sotrs)){
    foreach($arr_sotrs as $sotr) {
        $t->assign(array(
           'COUNT_TITLE' => $sotr['item_title']
       ));
      
    }
}

 

Сообщения: 23

CrazyFreeMan

Ярослав
#2/16.09.2015 17:34
+1

Модераторы

Карма: +317

Где подключается шаблон который парсить нужно? Где парсинг каждой итерации цикла? Откройте другой плагин где есть циклы и посмотрите тот же https://github.com/cmsworksru/cot-freelance/blob/master/modules/projects/projects.index.php

Сообщения: 1248

bojikodab

#3/16.09.2015 17:36
0

Аватар

Пользователи

Карма: +2

#11238 CrazyFreeMan:

Где подключается шаблон который парсить нужно? Где парсинг каждой итерации цикла? Откройте другой плагин где есть циклы и посмотрите тот же https://github.com/cmsworksru/cot-freelance/blob/master/modules/projects/projects.index.php

Большое спасибо за оперативность, я создал файл projects.userdetails.count.php в папке с модулем projects, выводиться должно все это дело на главной странице, там и выводится, только 1 запись а не цикл.

Сообщения: 23

CrazyFreeMan

Ярослав
#4/16.09.2015 18:07
+1

Модераторы

Карма: +317

Смотрим внимательно тут  потом вдумчиво смотрим сюда, размышляем о моих словах "парсинг каждой итерации"  ну и для пищи смотрим шаблон 

Сообщения: 1248

bojikodab

#5/16.09.2015 18:19
0

Аватар

Пользователи

Карма: +2

#11240 CrazyFreeMan:

Смотрим внимательно тут  потом вдумчиво смотрим сюда, размышляем о моих словах "парсинг каждой итерации"  ну и для пищи смотрим шаблон 

спасибо большое разобрался, слово парсить было ключевым )

Сообщения: 23

Cmsworks

Булат
#6/16.09.2015 18:59
+2

Администраторы

Карма: +683

Не забываем плюсовать карму тем кто вам помогает!

Сообщения: 2416

Опытный веб-разработчик, фрилансер.
Разрабатываю сайты любой сложности на профессиональных фреймворках.

------

Почта для связи: developer@cmsworks.ru

bojikodab

#7/16.09.2015 19:13
0

Аватар

Пользователи

Карма: +2

#11242 devkont:

Не забываем плюсовать карму тем кто вам помогает!

Спасибо, плюсанул, очень помог, а не подскажите как вывести данные за последние 14 дней (что написать где вопросы) условие выборки?

$arr_sotrs = $db->query("SELECT item_title, item_count, item_cat, item_alias FROM $db_projects WHERE item_date= ??????? ORDER BY item_count DESC LIMIT 15")->fetchAll(); 

 

Сообщения: 23

CrazyFreeMan

Ярослав
#8/16.09.2015 20:43
+1

Модераторы

Карма: +317

Нужно просто в условии указать дату больше чем СЕЙЧАС - 14 дней, где то так  item_date>NOW() - INTERVAL 14 DAY ну или так же только в формате datetime

Сообщения: 1248

bojikodab

#9/16.09.2015 20:47
0

Аватар

Пользователи

Карма: +2

#11244 CrazyFreeMan:

Нужно просто в условии указать дату больше чем СЕЙЧАС - 14 дней, где то так  item_date>NOW() - INTERVAL 14 DAY ну или так же только в формате datetime

спасибо вот так пробывал ничего не выводит, не пойму почему, может из-за того что item_date в int 11 хранится?

$arr_sotrs = $db->query("SELECT item_title, item_count, item_cat, item_alias FROM $db_projects WHERE item_date > NOW() - INTERVAL 14 DAY ORDER BY item_count DESC LIMIT 15")->fetchAll();

и так ничего:

$arr_sotrs = $db->query("SELECT item_title, item_count, item_cat, item_alias FROM $db_projects WHERE item_date > DATE_SUB(now(), INTERVAL 5 MONTH) ORDER BY item_count DESC LIMIT 15")->fetchAll();

 

Сообщения: 23

CrazyFreeMan

Ярослав
#10/16.09.2015 21:47
+1

Модераторы

Карма: +317

Ну да, нужно одно из значений подогнать под формат, для того что б юникстайм сделать в датетайм есть функция FROM_UNIXTIME, поищите документацию или примеры как конвертировать и все получится 

Сообщения: 1248

bojikodab

#11/17.09.2015 15:28
+1

Аватар

Пользователи

Карма: +2

Может кому пригодится: 

$arr_sotrs = $db->query("SELECT item_title, item_count, item_cat, item_alias FROM $db_projects WHERE FROM_UNIXTIME(item_date) > (NOW() - INTERVAL 14 DAY) ORDER BY item_count DESC LIMIT 15")->fetchAll(); 
if(is_array($arr_sotrs)){
    foreach($arr_sotrs as $sotr) {
        $t->assign(array(
           'COUNT_TITLE' => $sotr['item_title'],
		   'COUNT_COUNT' => $sotr['item_count'],
		   'COUNT_ALIAS' => $sotr['item_alias'],
		   'COUNT_CAT' => $sotr['item_cat']
		   
       ));
       $t->parse("MAIN.PTYPES_ROWSS");
    }
	
}

 

Сообщения: 23