![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: нет Всего: 71 |
На сайте есть форма отправки вопросов. Вопросы помещаются в базу. Затем эти данные подгружаются на сайт.. В общем типа чата.
На сайте через определённый момент времени происходит запрос данных на сервер и возвращает последние вопросы. Собственно вопрос, как подгружать последние вопросы и удалять старые чтобы допустим оставалось 15 последних вопросов? И ещё одно условие. Есть механизм удаления вопросов при определённой модерации. И при очередном запросе эти вопросы тоже должны удаляться если они в листинге. При этом должна быть возможность пролистывать списка вопросов "вверх". Может кто встречал подобное, могу рассмотреть варианты -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| bars80080 |
|
||||||||||||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 3 Всего: 315 |
это банальнейшая задача ajax. настолько банальная, что в jquery она решается одной функцией запрос на сервер, сервер формирует необходимый хтмл и возвращает запрашивать можно с датой последней проверки. то есть при генерации страницы, указать переменную:
и потом цеплять её значение к запросу. соответственно, сервер отдаёт только те данные, которые имеют дату новее плюс он ещё должен возвращать новую дату, которая заменит last_time
просто делаем хтмл, к примеру, список из дивов.
подгружаемые данные добавляем в начало, а затем удаляем те, что имеют индекс более 15:
дополнительно возвращать идентификаторы последних 15, после чего сверять существующих хтмл на наличие этих идентификаторов. если не соответствует - удалить лишние и отправить запрос на догрузку более старых в нужном количестве
что сие значит? Это сообщение отредактировал(а) bars80080 - 25.6.2011, 11:51 |
||||||||||||
|
|||||||||||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: нет Всего: 71 |
bars80080, как общаться с ajax и jquery я знаю
В общем суть сводиться к тому что нужно будет передавать идентификаторы тех вопросов, которые сейчас у клиента на сервер. На сервере брать такое же количество последних из базы и сравнивать. Возвращать обратно и удалять не нужное и добавлять новое. Но есть много НО.. (ну или я не могу понять как это реализовать.. сейчас на пальцах Клиент загрузил себе ID=2 ID=3 ID=4 ID=5 ID=6 В базу добавился новые вопросы ID=7 ID=8 И был удалён ID=4 Осуществляется запрос от клиента на сервер ... тут я предполагаю отправить все ID, что-то типа ...ajax.php?id=2-3-4-5-6 На сервере я получаю следующее GET ID=2 ID=3 ID=4 ID=5 ID=6 В базе 5 последних ID=3 ID=5 ID=6 ID=7 ID=8 Получается что у клиента должен удалить ID=4 И добавится ID=7 ID=8 А вот как это одновременно сделать не могу понять. Самый простой вариант это перегонять весь контент. Но именно это я и не хочу, по этому и возник такой вопрос.. Т.е. должно всё красиво меняться Очень просто.. Есть кнопка "вверх". Жму и загружается предыдущие -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Gold Dragon |
|
||||||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: нет Всего: 71 |
Чтобы с чего-то начать, я накидал скелет от которого и будем отталкиваться
Дамп базы
index.php
ajax.php
сейчас всё просто. Загружается страница и получаются 5 записей из таблицы. Дальше подгрузку посадил на Клик для удобства тестирования. В это варианте не пойдёт.. Теперь нужно заставить отсылать на сервер ID вопросов. Каждый вопрос помещён в DIV с уникальным ID. Как это сделать? Это сообщение отредактировал(а) Gold Dragon - 28.6.2011, 20:03 -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
||||||
|
|||||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: нет Всего: 71 |
Что-то я не могу понять как получить все ID в #div2?
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| нуп |
|
|||
|
Ботокодер ![]() ![]() Профиль Группа: Участник Сообщений: 987 Регистрация: 22.6.2009 Где: Кременчуг Репутация: 8 Всего: 33 |
|
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: нет Всего: 71 |
а как получить то данные?
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| нуп |
|
|||
|
Ботокодер ![]() ![]() Профиль Группа: Участник Сообщений: 987 Регистрация: 22.6.2009 Где: Кременчуг Репутация: 8 Всего: 33 |
Либо парсить html. или в каждом dive все разбить на части и собрать все данные перед запросом
Или присилать данные в jsone, строить все на клиенте, и для запроса все брать из того же jsona |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: нет Всего: 71 |
всего-то нужно пройтись по "детям" DIV2 и получить у них ID. Зачем парсить то?
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| нуп |
|
|||
|
Ботокодер ![]() ![]() Профиль Группа: Участник Сообщений: 987 Регистрация: 22.6.2009 Где: Кременчуг Репутация: 8 Всего: 33 |
Так я вам написал как это сделать, в чем проблема?
|
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: нет Всего: 71 |
тогда я не понял что такое // do it!!
Мне нужно получить строку с перечнем ID и её отправить.. из твоего кода я этого не вижу. Так объяснил значит.. Допысливать не могу так как не знаю -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| нуп |
|
|||
|
Ботокодер ![]() ![]() Профиль Группа: Участник Сообщений: 987 Регистрация: 22.6.2009 Где: Кременчуг Репутация: 8 Всего: 33 |
||||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: нет Всего: 71 |
ВО! теперь всё понятно и работает.. Я написал что-то такое, но у меня не получилось из за ошибки в названии объекта '#div2 div[id^=qest]'
Добавлено через 4 минуты и 46 секунд сейчас подлатаю код и продолжим -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Применение библиотек | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |