Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript]Powiadomienie użytkownika o jakiejś akcji
Mlodycompany
post
Post #1





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


Witam. Męczy mnie ostatnio jedna rzecz. Chodzi mi o powiadomienia takie np. jak są na facebook np. jak znajomy doda komentarz do mojego zdjęcia. Wyskakuje okienko z tą informacją. Wszystko jest bez przeładowania. Pomyślałem trochę i doszedłem do wniosku że można zrobić tabele w mysqlu i jak ktoś wykona odpowiednią akcje to dodaje się powiadomienie i odpalić skrypt w js który by sprawdzał co np. 2 sekundy czy są jakieś nowe i zależnie od wyniku wyświetlał na stronie. Ale gdy 1000 ludzi odpali taki skrypt to zrobi się kombajn i obciąży serwer. Macie jakiś inny pomysł jak to zrobić(IMG:style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Mlodycompany
post
Post #2





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


Witam ponownie. Opracowałem skrypt powiadomień. Na pierwszy rzut oka działa ładnie.. ale nie dokońca. Przedstawie moje wypociny a potem opowiem o problem.
plik load.php
  1. if($_GET['func'] == 'powiadomienia'){
  2. $zmien = new zmien();
  3. $query = mysql_query("SELECT * FROM `powiadomienia` WHERE `odbiorca` = '0' OR `odbiorca` = '".$_SESSION['id']."' ORDER BY `time` ASC");
  4. while($row = mysql_fetch_array($query)){
  5. preg_match('#\((.*?)\)#', $row[1], $pow);
  6. $pow = str_replace('('.$pow[1].')', $zmien->returnLogin($pow[1]), $row[1]);
  7. echo('<div class="powiadomienie_'.$row[2].'">'.$pow.'</div>');
  8. $del = mysql_query("DELETE FROM `powiadomienia` WHERE `id` = '".$row[0]."' LIMIT 1");
  9. }
  10. }

  1. function powiadomienia(){
  2. $('#action').load('load.php?func=powiadomienia', function(data){
  3. if(data != ''){
  4. $('#powiadomienia').html(data);
  5. }
  6. });
  7. setTimeout(function(){ powiadomienia(); },1500);
  8. }

funkcja powiadomienia() rozpoczynana jest po wczytaniu indexu. Problem polega na tym, że gdy zakomentuje linie 8 w load.php to wyświetla na stronie wszystkie powiadomienia jakie dochodzą czyli wzasadzie działa jak powinno tylko tyle, że nie są usuwane, ale gdy linia 8 nie jest zakomentowana no to już inna bajka. Powiadomienia raz dochodzą raz nie. Kompletnie nie wiem dlaczego. Co o tym myślicie? Proszę o pomoc. (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 05:48