nikestylex7
14.11.2013, 22:45:19
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.
<?php
$user = $_SESSION['nick'];
if($pocztA[0] == 0){
echo "Nie masz żadnych wiadmości"; }
else{
echo "Masz".$pocztA[0]." wiadomości."; }
Lovelas
15.11.2013, 01:48:28
Też jestem ciekawy ponieważ też mi się to przyda...
valkirek
15.11.2013, 07:00:30
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
15.11.2013, 11:43:11
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
15.11.2013, 20:48:37
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
15.11.2013, 21:34:00
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
15.11.2013, 22:02:19
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
valkirek
15.11.2013, 22:07:13
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
17.11.2013, 02:04:04
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 :
<script>
$(document).ready(function(){
var refreshIT = function(){
$.ajax({
method:'get',
url:'https://page.com/privateMessageCount.php',
success:function(data){
$("#count").html(data);
}
});
}
setInterval(refreshIT,5000);
});
</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.