Эли4ка
28.09.2018 - 17:27
Я-то ясное дело не показатель,но такого приема не встречала раньше.
Цитата |
600 тысяч строк пока обрабатывает не напрягаясь |
Ого. Вы уже протестировать успели
Valick
28.09.2018 - 17:51
Цитата (Эли4ка @ 28.09.2018 - 16:27) |
Я-то ясное дело не показатель,но такого приема не встречала раньше. |
книжки надо читать и тогда сможешь такое сама придумывать, а не подсматривать у кого-то в интернетах :)
Цитата (Эли4ка @ 28.09.2018 - 16:27) |
Ого. Вы уже протестировать успели |
а чего там успевать, сурогатную бд состряпать этож дело 5-ти секунд
for( $i=1; $i<4; $i++ ) {
$query = "INSERT INTO `test`.`example1` (`data`, `date`) VALUES ";
for( $k=1; $k<100001; $k++ ) {
$r = mt_rand( 214767461,1534778461 );
$s = "'string".$i.$k."'";
$q[] = "($s, from_unixtime($r))";
}
$query .= implode( ', ',$q );
mysqli_query( $rdb, $query )
or die ( "Ошибка добавления данных в таблицу: ".mysqli_error() );
}
_____________
Стимулятор ~yoomoney - 41001303250491
Эли4ка
28.09.2018 - 18:52
Цитата |
книжки надо читать и тогда сможешь такое сама придумывать, а не подсматривать у кого-то в интернетах  |

поняла
Цитата |
а чего там успевать, сурогатную бд состряпать этож дело 5-ти секунд |
ну все ж ваши ресурсы,время как-никак.
Michael
29.09.2018 - 17:18
Эли4ка, глянь вот эту книгу (она в свободном доступе):
https://leanpub.com/cleanphpОчень толковая. Тебе хотя бы главу 1 осилить, увидишь, там описываются архитектуры которые создают пхп программисты, найдешь к каким из них относится твоя ( и та что тебе в файлах примеры постят) архитектуры. MVC там тоже упоминается.
_____________
There never was a struggle in the soul of a good man that was not hard
Эли4ка
29.09.2018 - 17:37
Спасибо. Буду читать.
miketomlin
29.09.2018 - 19:09
Эли4ка, как выше написали, у вас получился «конвейер». Используйте хотя бы более выражено DAT-шаблон проектирования (сначала получаем данные, потом подставляем их в шаблоны).
В запросе сортировку лучше указать по времени, т.к. нет гарантии что порядок id соответствует хронологии.
Цикла достаточно одного, непосредственно в шаблоне, с «отслеживанием» смены месяца (появился новый месяц, вставили соотв. заголовок).
Пагинация, это когда много страниц списка, причем без ярко выраженной иерархии, например:
Как сделать пагинацию? (Демка есть в
этой статье.)
Ну в принципе можно месяца разнести по разным страницам. Это как глоссарий по первым буквам с неодинаковым кол-вом элементов на странице. Но лучше называть это фильтрацией.
miketomlin
29.09.2018 - 19:21
P.S. Представьте, что записей оч. много. Вашу лапшу из записей можно разбить на множество последовательных страниц по (максимум) N записей. Заголовки с месяцами можно сохранить. Плюс перед первой записью тек. страницы в обязательном порядке выводить заголовок, даже если это не первая запись, соотв. данному месяцу (алгоритм от этого вообще никак не изменится).
Эли4ка
29.09.2018 - 21:20
Цитата |
у вас получился «конвейер» |
Паттерн? Или нет?
Цитата |
сначала получаем данные, потом подставляем их в шаблоны |
А разве я этого не сделала? Ведь сначала погрузила в массивы,потом прогнала foreach. Или это не то?
Цитата |
Ну в принципе можно месяца разнести по разным страницам. Это как глоссарий по первым буквам с неодинаковым кол-вом элементов на странице. Но лучше называть это фильтрацией. |
Поняла.
Цитата |
Вашу лапшу из записей можно разбить на множество последовательных страниц |
А если подгрузка аяксом,как тогда?
Valick
29.09.2018 - 22:22
Цитата |
А если подгрузка аяксом,как тогда? |
принцип абсолютно тот-же, только в пагинаторе можно перескочить сразу на несколько страниц вперёд или на последнюю страницу, а при подгрузке типа как последовательный просмотр страниц пагинатора. Подгрузка хороша например для текста статьи, для ленты новостей, а для табличных данных или например фотоальбома лучше пагинатор.
_____________
Стимулятор ~yoomoney - 41001303250491
miketomlin
30.09.2018 - 00:55
Не совсем. Это как линейная алг. конструкция. Вроде как и алг. конструкция, а делать для оформления структуры ничего не надо

Цитата |
А разве я этого не сделала? Ведь сначала погрузила в массивы,потом прогнала foreach. Или это не то? |
Как я написал, нужно более выраженно выделять составные части. Никто запросы вместе с разметкой в один файл не пихает. Посмотрите хотя бы пример из статьи, ссылку на кот. я уже давал:
Как сделать вывод списка статей? while вместе с форычем – это зачастую переливание из пустого в порожнее. Несколько способов этого не делать я показал там же в этом комменте:
http://gency.ru/comment/57Цитата |
А если подгрузка аяксом,как тогда? |
Технически практически то же самое. Вы выбираете отдельные группы записей по «номеру страницы» и добавляете к имеющимся или заменяете имеющуюся группу на странице. Часто обычная пагинация работает совместно с AJAX-, подменяя последнюю в случае ее сбоев. Особым шиком является полная имитация AJAX'ом обычной пагинации, включая подмену адресов без перезагрузки страницы (современные браузеры могут такое делать не только с якорями), а если что-то идет не так, тогда уже работает обычная пагинация.
Эли4ка
30.09.2018 - 09:10
Поняла. Спасибо.
Кстати, после подготовки данных дергать файл шаблона напрямую – тоже не самый лучший вариант. Лучше использовать для этого «фронт-контроллер», чтобы можно было легко задавать местоположение отдельных типов файлов. В примере выше для б/логики и подготовки данных я использовал файл с суффиксом .d в имени (и окончанием php), но мне ничто не мешает разнести два типа файлов по разным каталогам и не использовать суффиксы в именах, причем содержимое этих файлов затрагивать не нужно. Все делается во «фронт-контроллере». При использовании единого фронт-контроллера (единой точки входа) система может получиться не такой гибкой, как MVC, но зато описанные операции с именами файлов можно проделать только один раз и они отразятся на всем сайте. В MVC кстати тоже для разных типов файлов (с моделями, представлениями и т.п.) обычно используются строго отдельные каталоги, т.е. если не брать в расчет гибкость, которую дает использование в MVC отдельных контроллеров, описанная мной схема не сильно отличается от этого. Кстати, в используемом мной DAT-каркасе A – это не просто &, там тоже есть третий файл, правда, он получает управление не первым, а может подключаться, как связка между двумя др. типами файлов.
Эли4ка
30.09.2018 - 14:21
Что?
miketomlin
30.09.2018 - 18:36
Где?
Эли4ка
30.09.2018 - 18:38
Когда?
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.