Вопрос № 85130: Здравствуйте!
Делаю сайт на бесплатном хостинге без поддержки БД. Данные хранятся в файлах. И вообще мне пока так удобнее.
В будущем собираюсь перенести данные в БД. Было бы здорово использовать какую-то библиотеку ввода/вывода данных, котора...Вопрос № 85204: Здравствуйте, помогите, пожалуйста, вывести список зарегистрированных пользователей находящихся на сайте в данный момент… что как откуда, или готовый пример… Спасибо...
Вопрос № 85.130
Здравствуйте!
Делаю сайт на бесплатном хостинге без поддержки БД. Данные хранятся в файлах. И вообще мне пока так удобнее.
В будущем собираюсь перенести данные в БД. Было бы здорово использовать какую-то библиотеку ввода/вывода данных, которая позволит выбирать где хранить информацию: в БД или файлах. При этом чтобы названия функций для сохраненияизвлечения данных не изменялись. Менялось только указание где хранить их. Что посоветуете?
Отправлен: 02.05.2007, 19:03
Вопрос задал: Yadovit (статус: 5-ый класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Ерёмин Андрей
Здравствуйте, Yadovit!
Не встречал модулей для таких задач. Да и вероятность, что они существуют, довольно мала. Данные в файлах можно хранить самыми разными способами, начиная от строк с разделителями полей и заканчивая отдельным файлом для каждой записи с одним полем на каждой строке. Сам простым (и по сути единственным) решением будет ручное изменение алгоритмов чтения и записи. Вы указали, что это выполняют функции - замечательно, тогда работа сократится в разы! Удачи!
--------- Нет правила без исключений. Правило без исключений - исключение из правил.
Может быть на сервере есть SQLite?.. Вряд ли конечно, на бесплатном, но вдруг :) А вообще писать универсальную библиотеку не так уж просто - это и получится что-то наподобие того же sqlite'а. Можно создать что-то наподобие среднего звена для твоей конкретной базы, т.е. каждая таблица это класс, поля - поля таблицы и набор методов, нужных именно для этой таблицы (для пользователей - поиск по id, поиск по логину и т.п.), а внутри уже пишешь реализацию хранения данных в зависимости от, например, флага в ini-файле
- либо SQL-запрос, либо вытаскивание из файла...
Ответ отправил: Nexus (статус: 7-ой класс)
Ответ отправлен: 03.05.2007, 17:53
Вопрос № 85.204
Здравствуйте, помогите, пожалуйста, вывести список зарегистрированных пользователей находящихся на сайте в данный момент… что как откуда, или готовый пример… Спасибо
Отправлен: 03.05.2007, 10:00
Вопрос задал: AleX29 (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Nexus
Здравствуйте, AleX29!
Создаешь таличку, например `users_online`, с полями `user_id` и 'stamp'. Делаешь скрипт, который будет инклудится во все страницы сайта. В нем проверяешь, если текущий пользователь авторизирован, и, если он уже есть в табличке, то обновляешь `stamp` на текущее время или таймштамп, если нету - то добавляешь его в таблицу (проще всего через REPLACE INTO - как-раз выполнится или то или другое), а потом удаляешь из таблицы все записи, которые были созданы ранее, чем, например, 5 мин назад. После этого в таблице
у тебя будет список пользователей, находящихся в данный момент на сайте.
Ответ отправил: Nexus (статус: 7-ой класс)
Ответ отправлен: 03.05.2007, 17:42