Так на вскидку.
таблица: id flag message.
Есть 3 пользователя Вася Петя Саша.
Вася читает посты Пети. Но не читает посты Саши.
Вася в сети.(flag в Бд что он тут).
Заходит Петя и пишет пост.
Пост сохранился, после сохранения
Проверяем всех активных пользователей, которые читают посты Пети(в данном случае Вася) и если Вася активен ставим ему в поле message 1. И через какое-то время посылается запрос, и проверяется поле message. Если там 1 то update message=0 и выдергиваем сообщение.
В худшем варианте будет 3 запроса(если есть новое сообщение) но это не страшно, там сами запросы легкие. все по индексам.
P.S Если в поле message писать id нового поста. то вообще все запросы будут простыми.(если интервал большой, то можно записывать в виде id1,id2)
UPDATE будет что-то типа message=CONCAT(message,id2)
P.S.S То что вы хотите сделать называется COMET вот почитайте http://javascript[dot]ru/ajax/comet
Да это разделители. Т.е они необходимы, для того чтобы можно было использовать ;
в функции или в процедуре.
Panoptik пишет:
и нужно ли каждый раз выполнять функцию, или один раз выполнить, а после она будет храниться?
Нет, ее достаточно создать один раз и все. Потом она уже будет выполняться сама.
хранятся они в таблице 'information_schema'.(по моему ).
Плюсом использования в данном случае функции, является то, что она после первого запроса в соединении попадет в КЭШ mySQL.(план выполнения ф-и) И далее затраты на ее выполнение будут мизерны.
P.S Единственное, что я бы сделал, это не сортировал на стороне MySQl, а сортировку производил уже на PHP. Потому что в данном запросе, будет осуществляться полное сканирование таблицы, потом создание временной таблицы, ее сортировка и только потом вывод рез-та.
tuareg и толку? Это же проделайте для контента полученого ajax'ом или
созданого "на лету" забиндив обработку плагином.
C ajax все тоже самое.
Вот простой пример.
есть div id="content". В него подгружается контент. Ну так и вешайте через него через on все обработчики, котрые надо.
Типа
Все события вешайте на постоянный элемент. И проблем не будет. Если вообще ни как то вешайте через $(document)
А на счет плагина, я так и не понял, что не получается. я с плагинами как-то не очень дружу
мне больше нравятся виджеты. Там есть метод creat() и рефреш. В принципе если это Ваш плагин, то можно создать метод рефреш самому, да и к не своему дописать.
Можно вообще покопаться в исходник какого-нибудь UI, все это решается.
Т.е если не сложно выложите код, и что конкретно у Вас не получилось передать. Я сам ни разу с такими проблемами не сталкивался. Желательно с разметкой HTML
Я код писал из головы. Но подобно этому у меня сделано центровка окна по середине экрана. При из изменении экрана она работает.
Вот, только не картинка.... http://jsfiddle[dot]net/tuareg/CE5zK/
Пример выше, с livequery, точно с live() работать не будет.
Если я правильно понял, что делает Ваш код. Есть менюшка, в ней ссылки, при клике на ссылку подгружается контент. В нем ссылки, при нажатии на которые что то происходит?
Ну и я приивел пример с delegate() он сработает! Потом если ссылки выбирать не
$('#div_content a') а сразу саму ссылку
типа $('a.ссылка') сработает и live()? Viper