[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод циклов.
Ramzil_Nixon
На днях прочитал про разделение PHP от HTML, то есть логику от представления. С выводом переменных разобрался, но как быть с циклом? Если в представлении нельзя смешивать логику?



Спустя 2 минуты, 39 секунд (24.11.2011 - 18:16) Winston написал(а):
Цитата (Ramzil_Nixon @ 24.11.2011 - 17:13)
Если в представлении нельзя смешивать логику?

А логику не надо смешивать. А просто вывод в шаблонах используют. Можешь smarty использовать.
В представление передаешь массив и перебираешь foreach'ем. Где же здесь логика ?

Спустя 9 минут, 8 секунд (24.11.2011 - 18:25) Ramzil_Nixon написал(а):
Допустим мне надо вывести данные из БД списком.

для этого использую while()

P.S. Мой шаблон вырезан на несколько частей и храняться они под расширением *.tpl

собираю их с помощью include.

Я могу в tpl файл сневти вот такое?


while($row = mysql_fetch_assoc)
{
echo $row['title'];
}

Спустя 6 минут, 10 секунд (24.11.2011 - 18:31) Winston написал(а):
Собираешь данные в массив вот так
while($row[] = mysql_fetch_assoc($query));

Потом этот массив передаешь в представление
И в представлении пишешь
foreach($row as $k => $v)
{
echo $k . ' -> ' . $row['title'] . '<br/>';
}

Спустя 1 минута, 33 секунды (24.11.2011 - 18:32) Ramzil_Nixon написал(а):
Спасибо!

+

Щас испробуем

Спустя 1 минута, 6 секунд (24.11.2011 - 18:33) sergeiss написал(а):
Цитата (Ramzil_Nixon @ 24.11.2011 - 19:25)
Я могу в tpl файл снести вот такое?

А зачем? Тебе же сказали: выбери данные в массив и дальше работай с ним.

Я вот у себя так делаю... Сделал небольшой класс, больше как хранилище различных данных (это не ООП, а так, просто удобство работы с данными). Сначала делаю выборку из БД, согласно каким-то критериям, в разных местах однотипно всё сделано.
Затем данные записывают в БД, весь класс (его данные) целиком, используя имеющиеся возможности. А вот затем могу построить график(и) на основе данных, передав для обработки только ID записи в БД, могу выдать данные на экран в виде таблицы, могу выдать как файл, который можно открыть в Экселе (потому что файл CSV выдаю).

Вот где-то примерно также и надо делать. Это и есть разнесение логики (выборка данных) и представления (беру готовый результат и работаю с ним). Далее я могу изменить логику выборки или применить её для других данных - что я и делаю, вобщем-то smile.gif, потому что много разных типов статистических данных используются в обработке. И могу изменить любое из представлений - при этом не изменятся ни другие представления, ни логика.

Спустя 14 минут, 29 секунд (24.11.2011 - 18:48) Ramzil_Nixon написал(а):
Winston,

А правильнее не так будет?

foreach($row as $k => $v)
{
echo $k . ' -> ' . $v['title'] . '<br/>';
}

Спустя 1 минута, 12 секунд (24.11.2011 - 18:49) Ramzil_Nixon написал(а):
Цитата (sergeiss @ 24.11.2011 - 15:33)
А зачем? Тебе же сказали: выбери данные в массив и дальше работай с ним.

Я вот у себя так делаю... Сделал небольшой класс, больше как хранилище различных данных (это не ООП, а так, просто удобство работы с данными). Сначала делаю выборку из БД, согласно каким-то критериям, в разных местах однотипно всё сделано.
Затем данные записывают в БД, весь класс (его данные) целиком, используя имеющиеся возможности. А вот затем могу построить график(и) на основе данных, передав для обработки только ID записи в БД, могу выдать данные на экран в виде таблицы, могу выдать как файл, который можно открыть в Экселе (потому что файл CSV выдаю).

Вот где-то примерно также и надо делать. Это и есть разнесение логики (выборка данных) и представления (беру готовый результат и работаю с ним). Далее я могу изменить логику выборки или применить её для других данных - что я и делаю, вобщем-то , потому что много разных типов статистических данных используются в обработке. И могу изменить любое из представлений - при этом не изменятся ни другие представления, ни логика.


Одно скажу - я нифига не понял biggrin.gif

Спустя 2 минуты, 48 секунд (24.11.2011 - 18:52) Игорь_Vasinsky написал(а):
Ramzil_Nixon
такой вывод как те нужно - реализован на Smarty


Спустя 3 минуты, 28 секунд (24.11.2011 - 18:55) Winston написал(а):
Цитата (Ramzil_Nixon @ 24.11.2011 - 17:48)
А правильнее не так будет?

А, ну да, правильнее smile.gif

Спустя 8 секунд (24.11.2011 - 18:56) Ramzil_Nixon написал(а):
Цитата (Игорь_Vasinsky @ 24.11.2011 - 15:52)
такой вывод как те нужно - реализован на Smarty

Понял, пойду изучать Smarty biggrin.gif

Спустя 35 секунд (24.11.2011 - 18:56) Ramzil_Nixon написал(а):
Цитата (Winston @ 24.11.2011 - 15:55)
А, ну да, правильнее

И я ошибКи находить умею biggrin.gif Чудо-то какое biggrin.gif

Спустя 1 час, 33 минуты, 29 секунд (24.11.2011 - 20:30) sergeiss написал(а):
Цитата (Ramzil_Nixon @ 24.11.2011 - 19:49)
Одно скажу - я нифига не понял

Поясняю smile.gif

Сначала выбираю данные, сохраняю их в определенном формате. А затем эту выборку передаю туда, где она нужна для обработки: рисование таблицы, построение графика, вывод в файл по запросу юзера smile.gif

То есть, короче говоря, полностью разделяю подготовку данных и их представление. Об этом, только чуть подробнее, я и писАл чуть ранее в этой теме.


Анекдот в тему wink.gif

- Папа, а кто такой дебил?
- Ты знаешь, сынок... Это такой человек, который что-то объясняет, а люди его не понимают. Понял?
- Нет....
rolleyes.gif


_____________
Миллионы приходят, уходят, не в них счастье. Самым важным на свете всегда будут люди в этой комнате, вот здесь, сейчас...

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.