Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP] Odliczanie
Forum PHP.pl > Forum > Przedszkole
pspgor
Witam. Mam oto skrypt:

  1. <script type="text/javascript">
  2.  
  3.  
  4. dateFuture1 = new Date(2012,0,6,13,47,00);
  5.  
  6.  
  7. function GetCount(ddate,iid){
  8.  
  9. dateNow = new Date(); //grab current date
  10. amount = ddate.getTime() - dateNow.getTime(); //calc milliseconds between dates
  11. delete dateNow;
  12.  
  13. // if time is already past
  14. if(amount < 0){
  15. document.getElementById(iid).innerHTML="Now!";
  16. }
  17. // else date is still good
  18. else{
  19. dni=0;godzin=0;minuty=0;sekund=0;out="";
  20.  
  21. amount = Math.floor(amount/1000);//kill the "milliseconds" so just sekund
  22.  
  23. dni=Math.floor(amount/86400);//dni
  24. amount=amount%86400;
  25.  
  26. godzin=Math.floor(amount/3600);//godzin
  27. amount=amount%3600;
  28.  
  29. minuty=Math.floor(amount/60);//minutes
  30. amount=amount%60;
  31.  
  32. sekund=Math.floor(amount);//seconds
  33.  
  34. if(dni != 0){out += dni +" "+((dni==1)?"dzień":"dni")+", ";}
  35. if(godzin != 0){out += godzin +" "+((godzin==1)?"godzinę":"godzin")+", ";}
  36. out += minuty +" "+((minuty==1)?"minutę":"minuty")+", ";
  37. out += sekund +" "+((sekund==1)?"sekundę":"sekund")+", ";
  38. out = out.substr(0,out.length-2);
  39. document.getElementById(iid).innerHTML=out;
  40.  
  41. setTimeout(function(){GetCount(ddate,iid)}, 1000);
  42. }
  43. }
  44.  
  45. window.onload=function(){
  46. GetCount(dateFuture1, 'countbox1');
  47. //you can add additional countdowns here (just make sure you create dateFuture2 and countbox2 etc for each)
  48. };


i chcę zrobić tak, jeśli odliczanie się zakończyło tj. pokazało "Now!" to ma pokazać załóżmy zmienną $sold; Pojęcia nie mam jak to zrobić sad.gif
kamil4u
Kod
    
    dateFuture1 = new Date(2012,0,6,13,47,00);
    zmienna = "test";
    
    function GetCount(ddate,iid){
    
    dateNow = new Date(); //grab current date
    amount = ddate.getTime() - dateNow.getTime(); //calc milliseconds between dates
    delete dateNow;
    
    // if time is already past
    if(amount < 0){
    document.getElementById(iid).innerHTML= zmienna;
    }
    // else date is still good
    else{
    dni=0;godzin=0;minuty=0;sekund=0;out="";
    
    amount = Math.floor(amount/1000);//kill the "milliseconds" so just sekund
    
    dni=Math.floor(amount/86400);//dni
    amount=amount%86400;
    
    godzin=Math.floor(amount/3600);//godzin
    amount=amount%3600;
    
    minuty=Math.floor(amount/60);//minutes
    amount=amount%60;
    
    sekund=Math.floor(amount);//seconds
    
    if(dni != 0){out += dni +" "+((dni==1)?"dzień":"dni")+", ";}
    if(godzin != 0){out += godzin +" "+((godzin==1)?"godzinę":"godzin")+", ";}
    out += minuty +" "+((minuty==1)?"minutę":"minuty")+", ";
    out += sekund +" "+((sekund==1)?"sekundę":"sekund")+", ";
    out = out.substr(0,out.length-2);
    document.getElementById(iid).innerHTML=out;
    
    setTimeout(function(){GetCount(ddate,iid)}, 1000);
    }
    }
    
    window.onload=function(){
    GetCount(dateFuture1, 'countbox1');
    //you can add additional countdowns here (just make sure you create dateFuture2 and countbox2 etc for each)
    };


Jeżeli zmienna $sold ma być zmienną PHP to:
Kod
zmienna = "<?php echo( $sold ); ?>";
pspgor
No ok. Ale bardzo chciałbym, aby jeśli pokaże już 'zmienną' to chciałbym również wykonać zapytanie do bazy danych. Da radę takie coś?
gorden
najlepiej użyj ajax.
pspgor
A mógłbym prosić o jakiś prosty kod? smile.gif Chodzi głównie o to by zmienną 'zmienna' wysłać do php. W php sprawdzić, czy ona 'true" jeśli tak to .. i else smile.gif
kamil4u
1. Wchodzisz w google
2. Wpisujesz "AJAX"
3. Otwierasz pierwszy link w tym wypadku wikipedia
4. Czytasz
5. Na dole masz pomocnicze linki
6. Znajduje się tam: "Ajax Tutorial"
7. Włączasz stronę i czytasz
8. Dokładnie się przyglądasz zakładce "Examples"
9. Z uwagą czytasz "Post a text"
10. Wszystko wiesz i jesteś szczęśliwym człowiekiem

Pozdrawiam

W razie jakiś większych problemów służę pomocą
pspgor
Niestety.. Nie mam pojęcia jak zaingerować ajax'a w mój skrypt sad.gif
gorden
to pokaż co już masz a pomożemy
pspgor
To co u góry smile.gif (1 post)
kamil4u
Chodziło o AJAX-a. Pokaż jak próbowałeś samemu rozwiązać problem. Dostałeś informacje na temat AJAX-u, więc praktycznie należy tylko przekopiować kod. Czego nie potrafisz zrobić?
pspgor
Nie potrafię wdrożyć tego kodu do javaskryptu. Tego podanym w pierwszym poście.
kamil4u
Nie potrafisz, ale nawet nie próbowałeś....

1. Uczysz się podstaw JS: http://kurs.browsehappy.pl/JavaScript/JavaScript
2. Tworzysz funkcję odpowiadającą za wysłanie przez AJAX jakiś danych do PHP
3. Funkcję tę umieszczasz tutaj( wywołanie ):
[JAVASCRIPT] pobierz, plaintext
  1. if(amount < 0){
  2. document.getElementById(iid).innerHTML= zmienna;
  3. TwojaFunkcjaAjaxu();
  4. }
[JAVASCRIPT] pobierz, plaintext


Funkcję AJAX kopiujesz z:
- http://www.xul.fr/en-xml-ajax.html
- https://developer.mozilla.org/pl/AJAX/Na_początek

W następnym poście podaj kod i/lub szczegółowy opis Twoich problemów, a nie "nie umiem"
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.