Javascript odświeżanie kilku divów

Nie wiem bo nie umiem sobie wyobrazić, albo nie rozumiem jak chciałbyś to zrobić. Poza tym nie wiem w czym Ci tak ajax przeszkadza i dlaczego Twoim zdaniem jest duży i ciężki. Dla mnie to co chcesz zrobić jest do zrobienia w 20 linijkach JSa, ale jeśli to jest dla Ciebie zbyt dużo to nie wiem jakim cudem korzystasz z tego forum, a co dopiero takiego FB czy Onetu, a gdzie tam Google gdzie wszędzie są websockety.

Pobieram sobie php wszystkie pola z tabelki w bazie danych, bo akurat wszystkie są potrzebne, while je listuję i wrzucam w zmienną, a potem wyswietlam. I chcę to odświeżać. Cały skrypt.

Moim zdaniem przez swoją niewiedzę i ignorancję w tym temacie masz skrajnie złe wyobrażenie o tym czym jest AJAX, ale jak chcesz unikaj go dalej.

Jak to wyświetlasz? W czym? JS czy PHP. Zresztą co ja tracę czas. Idź do wróżbity Macieja tylko on jest w stanie pomóc bez kodu źródłowego.

Jak przypomnisz, w jaki sposób się wrzucało kod, tak, żeby dalo się go czytać, to wrzucę. Niewidomy jestem więc nie używam formatowania.

Możesz wkleić na jakąś wklejkę i dać linka tutaj, albo możesz przed kodem dać ``` i za kodem to samo, czyli coś takiego:

```
Twoj kod tutaj
```

Ogólnie na forum jest edytor wykorzystujący składnie Mark Down, warto się jej nauczyć bo się przydaje do wielu rzeczy. Jedyna różnica jest taka, że nie wszystkie elementy tej składni są obsługiwane bądź włączone w edytorze.

Niedostępny dla niewidomych chyba jest. Accessibility to w ogóle wszędzie leży…

echo '
<div id="lista">
';
$q=$dbx->query("select * from `messages` where `status` = 0 order by `id` asc");
if($q->num_rows == 0) echo '<span style="color: red;">Nie ma żadnych zamówień ani pozdrowień</span>';
while($r=$q->fetch_assoc())
{
$ta .= ''.$r['nick'].'
<br/>
'.selecttime($r['time']).'
<br/>
'.$r['message'].'
<br/>
><a href="index.php?field=delete&id='.$r['id'].'">Usuń</a><br/.';
}
echo $ta.'
</div>';

Na podstawie fragmentu niewiele da się powiedzieć. Nie wiem jak jest generowana reszta danej podstrony oraz gdzie ten kog jest uruchomiony. To osobny plik czy może fragment jakiegoś większego skryptu.

No nie mów, że mam CI wrzucać całą stronę?
Wszystko jest w jednym indeksie.

Człowieku ktoś chcę ci pomóc a ty jeszcze pretensje ? Masz tak bublowaty kod,że możesz być spokojny nikomu o zdrowych zmysłach on się nie przyda :wink:

Zapytałem tylkoo, czy mam wrzucić kod całej strony. Gdzieś tu widzisz pretensje?

No to wrzuć cały kod odpowiedzialny za ten twój czat.

NO to wrzuciłem. Nic więcej nie ma tam.
No chyba, że

<script src="http://code.jquery.com/jquery-latest.js">
<script type="text/javascript">
setInterval(refreshfield, 5000);
function refreshfield()
{
$('#content').load('http://radiowyczes.pl/?fields=list #lista');
}
</script>

Czy ty uwazasz, ze to, co widzisz w przegladarce to PHP? I ze PHP dziala na przegladarce?

Na razie wydaje mi sie, ze nie masz pojecia o trzy tierowym podejsciu, ktore probujesz zaimplementowac. PHP to technologia serwerowa, w Twoim przypadku PHP dynamicznie generuje strone HTML i skrypt JS, ktore jednak pozniej dzialaja bez udzialu PHP na przegladarce.
Troche dziwnie sie czuje piszac takie rzeczy, ale z calej tej dyskusji mam wrazenie, ze nie calkiem wiesz, co chcesz osiagnac i jak wyglada komunikacja pomiedzy warstwa UI, serwerem aplikacji i serwera bazy danych.

I Ajax jest najlzejszym i najszybszym sposobem na pozyskanie danych na stronie internetowej z twojego serwera.

@Fizyda, zgoda, ale to wyglada i tak na zabawe z kodem, wiec lepiej uczyc sie ‘normalnych’ zasad, a interval to zlo;) Podany przeze mnie link pieknie podaje zasady dla poczatkujacych, no ale trzeba miec chec, aby sie czegos nauczyc.

W takim układzie nie wrzucaj bo nie chcę dostać zawału, nie będę miał też czasu przekopywać się przez taki kod.
Raczej tego nie zrobisz tak jak chcesz, chyba że w tym index masz coś na wzór kontrolerów ze wzorca MVC i w case’ach lub if’ach zwracasz tylko fragment kodu html, a sterujesz nimi przy pomocy parametrów get co może sugerować link do jakiego się odwołujesz w JS:

http://radiowyczes.pl/?fields=list

W takim przypadku będzie się to dało zrobić i powinien Ci obecny kod działać. Problemem zapewne jest adres z jakiego pobierasz dane. Nie mam pojęcia skąd w środku adresu masz spację i czemu w ogóle odwołujesz się do kotwicy. Chodzi o tą linijkę:

$('#content').load('http://radiowyczes.pl/?fields=list #lista');

Poza tym powinieneś w takim przypadku skorzystać z narzędzi developerskich w przeglądarce i zobaczyć co masz w odpowiedzi z serwera i czy w ogóle pobierasz dane bez błędów. Takie informacje znajdziesz w zakładce sieć.

@angh Tak z ciekawości może będziesz wiedział bo nigdy tego w ten sposób nie robiłem i nie wiem czy dobrze pamiętam. W przypadku zwykłego serwera WWW, powiedzmy konfiguracja jak na każdym hostingu shared plus parser PHP. Oczywiście serwer obsługuje HTTP/2. Da się postawić webserver? Bo jeśli dobrze pamiętam to chyba szukałem na ten temat info, ale wymaga to dodatkowego moda do serwera WWW i dodatkowej konfiguracji tak by powiedzmy skrypt w webserver.php działał jako web server do którego możesz się połączyć przez web socket.
Nie mówię tutaj o odpalaniu skryptu który jest web serverem i obsługuje we własnym zakresie HTTP/2 czy to w pythonie, node czy php. Mówię tutaj o takim klasycznym serwerze apache/nginx + php + skrypt php który nie nasłuchuje we własnym zakresie na socketach.

Zapomniałem napisać to co robisz to jest AJAX z tą różnicą, że zamiast danych w JSON lub XMLu otrzymujesz HTML. Więc trochę jesteś hipokrytą bo krytykujesz i nie chcesz używać coś co za moment masz w kodzie.

Dobra, już. Tylko spokój nas ocali.
Spacja była w jakimś artykule, który czytałem na ten temat.
Zaraz to psrawdzę i po kłopocie.
A, i niektórzy mogliby sobie darować swoje zaczepki.
W każdym razie dzięki.