[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Рендом на день
dron4ik
Привет, такая идея возникла для уже существующего сайта, страничку где выдавать рендомно 10 записей, но суть в том, что этот рендом в один конкретный день один для всех, и потом по какому либо ключу (к примеру дата) выдавать тот же вариант...

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

Зачем: на сайте много статей, и по сути они не теряют свою актуальность, к примеру человек зашел, прочитал, а через пару дней решил найти туже статью, все что ему стоит сделать это в календаре выбрать нужный день, и он увидит все что мог прочесть... К тому же старые статьи не потеряются, а периодически будут посещаться...

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

_____________
Ex3m.com.ua — Активный образ жизни
Valick
Цитата
а через пару дней решил найти туже статью, все что ему стоит сделать это в календаре выбрать нужный день

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


_____________
Стимулятор ~yoomoney - 41001303250491
sergeiss
Цитата (dron4ik @ 30.11.2014 - 02:38)
может какая то идея как делать запрос на рондомность с получением одного конкретного результата по ключу?

Всё очень просто. На самом деле, в программировании нет и не может быть "чистой" рандомности, есть только "псевдорандомность".

Поясняю, как обычно делается. Имеется некий алгоритм. На входе даем какое-то число (зерно). Далее по алгоритму получаем четко определенные числа, более-менее равномерно "размазанные" внутри диапазона. Изменили "зерно" - получили другую псевдослучайную последовательность.

В твоем случае в качестве зерна может быть ЮНИКС-время первой секунды суток smile.gif Тогда ты можешь ничего не записывать в БД, т.к. при наличии даты ты сразу получаешь зерно, а дальше по алгоритму восстанавливаешь псевдослучайную последовательность. На основании которой определяешь айдишники статей.

Это я тебе отвечал на вопрос, который процитировал.

Но тут еще надо учесть, что с каждым днем статей все больше и больше. И надо знать, какие айдишники нужно брать для последовательности. Поэтому что-то все равно придется хранить в БД. Что сильно усложнит алгоритм, описанный мной выше.
И в итоге, я думаю, ты придешь к тому, что проще будет хранить в отдельной таблице дату и всю последовательность айдишников статей. Тем более, что тебе всё равно надо эту последовательность где-то хранить в течение суток wink.gif Так и просто храни и используй потом, когда захочешь.

А еще лучше послушать этот совет:
Цитата (Valick @ 30.11.2014 - 03:41)
сделайте обычный нормальный поиск.

и не надо будет никаких извратов.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
walerus
Либо же запили как делают "назойливые рекламщики" - печеньки !, вот туда и складируй все ID статей на которых был пользователь, а при "возврате" юзера, проверяй, есть ли что то в них - значит выводи - "Вами были просмотрены страницы..., так же смотрят...", ну и все в таком духе.
dron4ik
sergeiss
Там суть не в поиске) Суть в том что это своеобразная вики, и некоторые довольно таки интересные посты никто искать не будет, а вот случайно наткнувшись, я периодически и сам перечитываю) В этом суть))

Что бы подбросить пищи... Ну и с возможностью найти их не помня как они назывались) Вчера прочитал, а о чем не помню, но помню что понравилось)

Ну это как тема дня, с навигацией по датам, когда и что было, ко крайней мере сейчас это так и выглядит)

_____________
Ex3m.com.ua — Активный образ жизни
sergeiss
Цитата (dron4ik @ 4.12.2014 - 19:56)
Суть в том что это своеобразная вики...

Что бы подбросить пищи... Ну и с возможностью найти их не помня как они назывались) Вчера прочитал, а о чем не помню, но помню что понравилось)

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

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

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

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