Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Odliczanie (PHP i Javascript)

idik20 26 Kwi 2011 12:12 2421 3
  • #1 26 Kwi 2011 12:12
    idik20
    Poziom 8  

    Witam!

    Chciałbym stworzyć skrypt który będzie odliczał czas.
    Stworzyłem taki skrypt w php jest wyświetlanie go jest mało atrakcyjne, gdyż trzeba odświeżać stronę aby zobaczyć zmianę czasu..
    Próbuję teraz napisać takie coś w Javascript.
    Widziałem na wielu grach przeglądarkowych takie właśnie odliczanie (co sekundę)

    Chcę to zrobić w php, bo po skończeniu odliczania chcę jeszcze wykonać zapytania do bazy danych więc tak by to było chyba łatwiej :)

    Poniżej przedstawiam to co udało mi się napisać :

    Kod: php
    Zaloguj się, aby zobaczyć kod


    Po kliknięciu w link wyświetla się
    Cytat:
    1 minuta
    a następnie napis znika..
    Jeśli miałby ktoś jakiś pomysł na rozwiązanie tego problemu to byłbym wdzięczny :)[/code]

    0 3
  • #2 26 Kwi 2011 12:45
    marcinj12
    Poziom 40  

    Obawiam się że nie zrobisz tego (sensownie działającego) w samym PHPie. PHP jest "generowany" przed wysłaniem strony do "klienta", potem posprzątane - czyli musiałbyś co sekundę odświeżać i ładować całą stronę.

    Przerób to co masz na "zwykłego" HTML'a i JavaScript, za pomocą .InnerHTML zmieniaj czas istniejącego elementu, a po zakończeniu odliczania wywołaj funkcję w JavaScript, która zrobi submit() formy: przekieruje akcję na stronę .php, gdzie już sobie wykonasz odpowiednie operacje na bazie.

    Tutaj masz przykład jak to zrobić.

    0
  • #3 27 Kwi 2011 12:39
    idik20
    Poziom 8  

    marcinj12 napisał:
    Obawiam się że nie zrobisz tego (sensownie działającego) w samym PHPie. PHP jest "generowany" przed wysłaniem strony do "klienta", potem posprzątane - czyli musiałbyś co sekundę odświeżać i ładować całą stronę.

    Przerób to co masz na "zwykłego" HTML'a i JavaScript, za pomocą .InnerHTML zmieniaj czas istniejącego elementu, a po zakończeniu odliczania wywołaj funkcję w JavaScript, która zrobi submit() formy: przekieruje akcję na stronę .php, gdzie już sobie wykonasz odpowiednie operacje na bazie.

    Tutaj masz przykład jak to zrobić.


    Na pewno jest to jakiś sposób na rozwiązanie tego problemu..
    siedze nad tym od wczoraj ale niestety nadal nie moge sobie poradzić :(

    Zależy mi na tym aby czas do odliczenia obliczać sobie za pomocą php
    Kod: php
    Zaloguj się, aby zobaczyć kod

    A następnie ładnie go wyświetlić za pomocą Javascript.
    Znalazłem takie coś w sieci i chciałem przerobić dla siebie, efekt :
    Kod: javascript
    Zaloguj się, aby zobaczyć kod


    Jednak nadal jest ten sam problem co wcześniej..
    Wyświetla się napis 1 minuta a następnie znika zamiast zmieniać się w 59 sekund itd..
    Gdyby to już zaczęło działać ładnie to wtedy zająłbym się tym co mówiłeś czyli funkcją submit();
    Jakbyś mógł (lub ktokolwiek inny :) ) rzucić jeszcze raz okiem na to to byłbym bardzo wdzięczny :)

    0
  • #4 27 Kwi 2011 18:07
    marcinj12
    Poziom 40  

    W skrypcie w którym podałeś jest kilka błędów, z czego najważniejszym jest użycie funkcji setInterval - która uruchamia okresowe wywołanie samej siebie - kolejne uruchomienia będą się akumulować. Zamiast tego powinieneś użyć funkcji setTimeout, która odpala funkcję jednorazowo. Tej nie trzeba wtedy zatrzymywać.
    Spróbuj coś takiego i dalej pokombinuj:

    Kod: php
    Zaloguj się, aby zobaczyć kod

    0