Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] zmieniajacy sie tekst co 3 sekundy
roghatt
post
Post #1





Grupa: Zarejestrowani
Postów: 250
Pomógł: 11
Dołączył: 20.03.2006

Ostrzeżenie: (0%)
-----


Witam.
Ponizszy kod wyswietla mi losowy link z nazwa miasta

  1. <?php
  2. $wynik4= mysql_query ("SELECT * FROM miasto ORDER BY RAND() LIMIT 1");
  3. while($row=mysql_fetch_array($wynik4))
  4. {
  5.    $city=$row['miasto'];
  6.    echo "<a target=\"_blank\" href=\"http://www.";
  7.    echo $miasto;
  8.    echo ".domena.pl\">www.";
  9.    echo $city;
  10.    echo ".domena.pl</a>";
  11.  
  12. }
  13. ?>


jak zrobic aby np na stronie automatycznie co 3 sekundy pobieralo mi nowa nazwe z bazy. Po prostu zeby co 3 sekundy wyswietlal sie link do innego miasta.
albo inny sposob ze za jednym razem pobiore wszystkie nazwy z bazy i bede mial np wypisane jedno pod drugim, ale jak zrobic zeby pozniej losowo wyswietlal co 3 sekundy. Chodzi mi o samo wyswietlanie, taki automat.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


To teraz wywal to, bo korzystanie tutaj z AJAXa to głupota. Niepotrzebnie katujesz serwer dziesiątkami, a wręcz tysiącami bezsensownych zapytań, które również obciążają bazę.

Pobierz odrazu ok. 50 rekordów (nie ma potrzeby większej ilości. Nic się nie stanie jak po 150 sekundach ogłoszenia zaczną się powtarzać. No chyba, że z założenia użytkownik będzie miał się gapić w "dodatkowy bajer" przez 2:30 minuty i tak przeglądać treść serwisu - ale wtedy to trzeba zmienić założenie :])

1) Pobierasz 50 rekordów i wyświetlasz je w formie JSowej tablicy dwuwymiarowej:
Kod
var data = new Array(
  new Array(12, "Treść", "http://link", "data"),
  new Array(12, "Treść", "http://link", "data"),
  new Array(12, "Treść", "http://link", "data"),
  new Array(12, "Treść", "http://link", "data"),
  itd.
);
W kodzie XHTML pamiętaj o tym by wyświetlić statycznie pierwszy rekord (tak by użytkownicy bez JS również widzieli jakąś treść (statyczną)).
  1. <p id="abc"><a href="http://link"><span>data</span> Treść</a></p>


I po stronie PHP to tyle. Teraz wystarczy napisać prosty skrypt JS, który:
1) Najpierw przy pomocy window.setInterval() będzie wykonywał co 3 sekundy jakąś funkcję
2) Funkcja ta przy pomocy element.removeChild(child) usunie całą treść elementu (element to referencja do p#abc, a child to referencja do p#abc > a)
3) Następnie przy pomocy document.createElement(), element.setAttribute() oraz element.appendChild() utworzy nowy link i wrzuci go w miejsce starego.

Roziwązanie dużo łatwiejsze oraz mniej pamięcio/czasożerne.
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: 8.10.2025 - 07:11