Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Counter JS - połączenie z bazą danych
Forum PHP.pl > Forum > Przedszkole
martinii007
Posiadam taki o to skrypt:

  1. <div class="well" style="font-size:30px;">
  2. <span id="countdown"></span> until our website is released!
  3.  
  4. <script>
  5. // set the date we're counting down to
  6. var target_date = new Date("Aug 15, 2014").getTime();
  7.  
  8. // variables for time units
  9. var days, hours, minutes, seconds;
  10.  
  11. // get tag element
  12. var countdown = document.getElementById("countdown");
  13.  
  14. // update the tag with id "countdown" every 1 second
  15. setInterval(function () {
  16.  
  17. // find the amount of "seconds" between now and target
  18. var current_date = new Date().getTime();
  19. var seconds_left = (target_date - current_date) / 1000;
  20.  
  21. // do some time calculations
  22. days = parseInt(seconds_left / 86400);
  23. seconds_left = seconds_left % 86400;
  24.  
  25. hours = parseInt(seconds_left / 3600);
  26. seconds_left = seconds_left % 3600;
  27.  
  28. minutes = parseInt(seconds_left / 60);
  29. seconds = parseInt(seconds_left % 60);
  30.  
  31. // format countdown string + set tag value
  32. countdown.innerHTML = days + "d, " + hours + "h, " + minutes + "m, " + seconds + "s";
  33.  
  34. }, 1000);
  35. </script>
  36. </div>


Counter działa poprawnie czyli odlicza do określonej daty, jednakże mam następujący problem:

Chciałbym żeby informacje dotyczące daty nie były na sztywno zapisane w kodzie lecz żeby były pobierane z mysql'a. Jak to zrobić?
nospor
nie: var target_date = new Date("Aug 15, 2014").getTime();
a:
  1. var target_date = new Date("<?php echo $dataPobranaZBazy; ?>").getTime();
martinii007
Dobra, data nie może być bezpośrednio pobrana z bazy, ponieważ musi zostać podzielona na poszczególne segmenty: dzień, miesiąc i rok.

Wyoknałem to za pomocą następującego skryptu:

  1. <?php
  2.  
  3. $username = "";
  4. $password = "";
  5. $hostname = "localhost";
  6.  
  7. //connection to the database
  8. $dbhandle = mysql_connect($hostname, $username, $password)
  9. or die("Unable to connect to MySQL");
  10. echo "Connected to MySQL<br>";
  11.  
  12. $selected = mysql_select_db("test",$dbhandle)
  13. or die("Could not select test");
  14.  
  15. $result=mysql_query("SELECT * FROM articles WHERE id='1';");
  16.  
  17.  
  18. $query = mysql_query ("SELECT publicationDate FROM articles WHERE id='1';");
  19.  
  20. while ($result1 = mysql_fetch_object($query))
  21. $date = $result1->publicationDate;
  22.  
  23. while ($result1 = mysql_fetch_object($query))
  24. echo $date = $result1->customer_date;
  25. echo $yearvalue = date("Y", strtotime($date) ); //Rok
  26. echo $monthname = date("F", strtotime($date) ); //Miesiąc w postaci słownej
  27. echo $dayvalue = date("d", strtotime($date) ); //Dzień
  28.  
  29. ?>


Jak modyfikuję skrypt w Twój sposób np.
  1. var target_date = new Date("Aug 15, <?php echo "2014"; ?>").getTime();
wtedy nic się nie wyświetla.
Gdzie popełniłem błąd?
nospor
var target_date = new Date("Aug 15, <?php echo "2014"; ?>").getTime();
Jest poprawnym kodem. Pod warunkiem oczywiscie, ze plik, wktorym go odpalasz to plik .php a nie .html smile.gif
martinii007
Dzięki smile.gif
można zamknąć wink.gif
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.