2013-07-22 3 views
1

Как я могу это сделать, чтобы моя лента новостей на моем веб-сайте проверяла, есть ли новые обновления статуса в установленный интервал, а затем отобразится кнопка с надписью " (?) «Новые сообщения», затем, когда он щелкнут, он загружает только новые и добавляет их в один и тот же фид div?Обновление PHP/MySQL/jQuery/AJAX Twitter-like

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

+0

код из текущего фида было бы удобно – EvilEpidemic

+0

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

ответ

2

Вы можете предпринять следующие шаги:

  1. Сделайте PHP скрипт, который возвращает новые сообщения или false, когда нет новых сообщений
  2. Написать вызов Ajax с JQuery в PHP скрипт
  3. Check возвращается ли ответ false или данные, отобразите его на определенном div на вашей странице
  4. Если количество сообщений возвращено, посчитайте их и удалите уже загруженные сообщения, чтобы оставаться на пределе 10 сообщений
  5. Установить интервал для выполнения Ajax называют

Просто дайте ему попробовать. Когда у вас есть код: отредактируйте свой вопрос (с вашими попытками), и мы сможем помочь вам в случае необходимости. ТАК не место, где вы можете 'заказать' готовый MATE Scripts ;-)

ПСЕВДОКОД

PHP

if(amount of results from database after last update time) { 

    return messages 

}else{ 

    return false 

} 

JQuery

send last update time with Ajax 

if(return of Ajax == false) { 

    do nothing 

}else{ 

    prepend messages to certain div 
    remove last messages to stay at limit of 10 messages 
    set last update time 

} 
+0

Это логика получения новых сообщений, с которыми я борюсь. – Engine

+0

Вы уже писали какой-либо PHP? Если да, покажите это в своем вопросе. – Pieter

+0

Конечно, у меня просто есть загрузка данных цикла, мне может показаться, что это проще, но это не так, просто уйдите из общей структуры корма: ** ID | userid | сообщение | дата ** она загружается оттуда в пределе 10, я тогда должен проверить для более поздних и нажать кнопку «Загрузить новые сообщения», и она добавит их, но затем кнопка исчезнет и может появиться снова, когда есть даже добавлено больше новых сообщений. – Engine

0

Если у вас есть уже сделано до feedsdiv, затем

Предположим, ваша лента новостей, как

<div id="feed"><div> 

Вы загружаете фид Див «кормить», а затем

вы можете добавлять новые каналы следующим

$("#feed").append("YourNewFeedHTML"); 
0

Одна из возможных стратегий, если вам ДЕЙСТВИТЕЛЬНО не хотят удалять существующие сообщения, чтобы разрешить превышение лимита видимых сообщений, загружаемых с помощью вызова с помощью setinterval, или установить для них более высокий предел, такой как 15, и только удалять сообщения в случаях краев. Другим аспектом является статус сообщений в этом «Входящие». Знакомство с статусом «читать» поможет управлять входящими сообщениями и, возможно, очищать прочитанные сообщения, когда приходит много новых. Я полагаю, что этот подход зависит от ожидаемой скорости сообщений, и в любом случае вам придется разрешать какие-либо случаи из-за червей в любом случае

Смежные вопросы