Я только пришел на этот форум из-за безысходности. Прошу помощи готовым кодом так как сам не могу это сделать. Нужно сделать страницу на сайте, где будет онлайн-очередь. Тоесть человек заходит, и вводит свой ник, а в таблицу очереди добавлялся его ник и время, в которое он зашел в очередь. Но еще необходима возможность удаления СЕБЯ из очереди (Только себя). Прошу помощи
Ну допустим будет 1 таблица, там ники и время. Она идет в порядке очереди(тоесть кто добавит себя, тот добавляется в конец очереди) И снизу или с стороны форма добавления. Ник и кнопка. И чтобы можно было только себя удалить, а других нельзя из очереди
После 1 часа первый в очереди должен удалятся, если он не удалился сам. И так дальше Добавлено спустя 39 секунд: Я понимаю что это сложно, но я не могу позволить себе оплатить это, и сам сделать это. Я пытался, но все бессмысленно.
Да не так сложно, вполне сможете додумать. Для вашей очереди заводите таблицу в базе данных, заносите в неё чувака вместе со временем внесения, при каждом обращении к скрипту - удаляете чуваков, внесённых больше часа назад. Единственная сложность - это отображать динамично очередь на страницу. Но поскольку простой запрос на выборку из одной таблицы не должен быть сильно ресурсоёмким, думаю ajax-вызов каждые несколько секунд сервер не убьёт. Если будет убивать, можно сделать тоже самое на файлах. Можно попробовать SQLite - она, по идее, быстрее mysql
Можно код? Пожалуйста То, что вы сказали для меня просто набор непонятных слов. Кроме mysql, с ним я знаком немного.
А я должен за вас всё написать и отладить? Какие слова непонятны - спрашивайте, объясню. Вы говорили, что что-то уже писали - покажите код, люди подскажут, может.
Добавить ник и время на mysql я смогу, но как удалять по времени я не понимаю. И как удалить только свой ник
Тип поля DATETIME, при записи значения в базу используете стандартную функцию SQL NOW(): Код (Text): insert into queue (nik, `time`) ("Mikha", NOW()); В запросе на удаление можно указывать условие: Код (Text): delete from queue where nik='Mikha'; Для того, чтобы в условии использовать поле `time`, можно применить стандартные функции mysql для работы со временем: Код (Text): delete from queue where TIMESTAMPDIFF(HOUR, NOW(), `time`) >= 1; Вроде так.
Возникла проблема. При записи в переменную $time = data(H:i) выдало ошибку. Использовал $time = date(H); $time .=" "; $time .=date(i); Но часы отображает неверно (14часов, хотя у меня 23)
Во-первых, срочно учить синтаксис. Строковые константы заключаются в одинарные или двойные кавычки. Во-вторых, на локале или на сервере экспериментируете - на сервере может быть другой часовой пояс. В-третьих, я предложил вам использовать функции даты и времени прямо mySql, а не php
Признались бы честно, что сессия И что не пытались...потому что попытки начинаются с изучения. А пых для изучения крайне прост. За новогодние выходные можно было достаточно подтянуть его, чтобы написать эту задачку.
Да не сессия, личный интерес) Я все сделал, оформил красиво, но теперь вопрос такой : как удалять первое сообщение(первого в очереди) через 1 час?
Код (Text): delete from queue where TIMESTAMPDIFF(HOUR, NOW(), `time`) >= 1; Удаляет всех, кто в табл\лице больше часа
А насколько они по очереди должны удаляться? Через какое время? В принципе, по приведённому мной запросу и будет удаляться, фактически, по одному, если вы будете через определённый промежуток времени его выполнять
Есть база mysql, таблица "och", Нужно: Удалять ПЕРВОГО в очереди каждый час. После удаления первого, второй встанет на место первого, и тоже будет удален через 1 час, и так далее.
в mysql есть события по расписанию. можешь приспособить его. либо cron. http://habrahabr.ru/post/123391/ http://adw0rd.com/2009/06/12/mysql-event-sheduler/#.Us2pm_QW05s
Что-то не похоже это на "личный интерес". Когда лично интересно, сидит человек и курит по вечерам инфу, чтобы самому сделать что-то.
Мой интерес заключался в том, что мне захотелось сделать это, дабы улучшить прежнюю систему очереди в одной системе, но так как я мало что понимаю, и смог сделать только дизайн, колонку вывода и страничку добавления в mysql, а остальное(удаление по времени) прошу у вас.