Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Ajax zmiana wartości
Forum PHP.pl > Forum > Przedszkole
nikestylex7
Ogólnie to pobieram wartość z bazy i ją wyświetlam. Gdy jestem na stronie i wiadomość doszła do mnie to muszę odświeżyć stronę aby mi pokazało że do mnie doszła. Chciałbym przerobić to na ajax aby pokazywało ją od razu.

  1. <?php
  2. $user = $_SESSION['nick'];
  3. $pocztA = mysql_fetch_row(mysql_query("SELECT COUNT(*) FROM poczta WHERE do='$user' AND status=1"));
  4. if($pocztA[0] == 0){
  5. echo "Nie masz żadnych wiadmości";
  6. }
  7. else{
  8. echo "Masz".$pocztA[0]." wiadomości.";
  9. }
Lovelas
Też jestem ciekawy ponieważ też mi się to przyda...
valkirek
Kawałek kodu który podałeś w osobnym pliku a w miejscu gdzie ma się pojawiać info o nowej wiadomości najprościej dodać setInterval() i odświeżać co x sekund funkcję load() ten osobny plik
nikestylex7
hmm w sumie nie bardzo mi to pasuje chciałbym aby zmieniała się wartość wtedy jak coś odbierze z bazy a nie co kilka sekund się odświerzało. a jak by było tutaj jakbym użył json?
valkirek
Szczerze to powiem tak, tak czy siak musisz odświeżać co x sekund żeby zapytanie poszło do bazy, jak zapytanie nie pójdzie do bazy to nic się nie dowiesz....

Inna moźliwość to jeżeli masz wiele tysięcy wiadomości na minutę to zapisujesz wszystko do pliku txt i co minutę odświeżasz ajaxem.

Jak coś odbierze z bazy to musi najpierw tą baze zapytać.... json to js więc to to samo.

Zapytanie do bazy musi być chyba, że wiadomosci zapisujesz bezpośrednio w pliku txt heh i każdy sobie je poczyta...
Lwik
Patrząc na budowę zapytania to jakiś mały system z użytkownikami. Jeśli chcesz oszczędzić bazę to najlepiej zrób to w ten sposób:
=> wiadomość jest wysyłana
=> dodajesz rekord do bazy danych
=> zliczasz nieodebrane wiadomości odbiorcy, aktualizujesz liczbę nieodebranych w tabeli z użytkownikami
=> przy odwołaniu AJAX wyświetlasz i tak pobierane już dane z informacjami o użytkowniku.
werdan
Sprawdzaj przy odswiezeniu/wejsciu na daną strone oraz ajaxem np. co 1 minute (setTimeout), nie musi byc za czesto, to nie notowania giełdy czy bitcointa biggrin.gif
valkirek
Cytat
Sprawdzaj przy odswiezeniu/wejsciu na daną strone oraz ajaxem np. co 1 minute (setTimeout), nie musi byc za czesto, to nie notowania giełdy czy bitcointa biggrin.gif


setInterval o wiele lepszy
nikestylex7
Mógłby ktoś podać jakiś przykład w ajax odświeżanie co 1min ? Aktualnie ajax nie umiem dopiero zamierzam się nauczyć. Będę wdzięczny. Pozdrawiam

Dałem radę chłopaki :

  1. <script>
  2. $(document).ready(function(){
  3. var refreshIT = function(){
  4. $.ajax({
  5. method:'get',
  6. url:'https://page.com/privateMessageCount.php',
  7. success:function(data){
  8. $("#count").html(data);
  9. }
  10. });
  11. }
  12. setInterval(refreshIT,5000);
  13. });
  14. </script>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.