Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z obliczaniem daty/pobieraniem z bazy danych
P4nch0
post 20.01.2016, 00:15:39
Post #1





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 30.03.2014
Skąd: Bełchatów

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


Witam,

Wiem, że jest mnóstwo tematów z tym problemem, przeglądam je próbuje na różne sposoby i nie kminię dlaczego wychodzi tak a nie inaczej..
W projekcie gry, po kliknięciu na ekran zapisuje się data kliknięcia.

Pobieram ją i chciałbym przy wczytywaniu danych do gry obliczyć ile minęło od dodania, ale dostaję jakieś dziwne liczby.. Mam dwa zapytania, chodzi mi o zapytanie o "Data"

  1. <?php
  2. /*Nagłówek pliku informujacy o tym, że dane będą przekazywane w formacie JSON (JavaScript Object Notation)
  3. - jest to format transferu danych, w praktyce wyglądać będzie on finalnie w następujacy sposób:
  4. [["66","Austria"],["65","Polska"],["64","Czechy"]]
  5. */
  6. header('Content-type: application/json; charset=UTF-8');
  7.  
  8. /*Załączenie pliku odpowiadającego za połączenie z bazą danych.*/
  9. require 'config.php';
  10. require_once 'user.class.php';
  11. $login = $_SESSION['login'];
  12.  
  13. // łączymy się z bazą danych
  14. if ($conn) {
  15.  
  16. // zapytanie do bazy danych
  17. $wynik = mysql_query("SELECT * FROM danemapa WHERE login = '$login'")
  18. or die("Błąd w zapytaniu!");
  19.  
  20. $czas = mysql_query("SELECT Data FROM danemapa WHERE login = '$login'")
  21. or die("Błąd w zapytaniu!");
  22.  
  23.  
  24. }
  25. else echo "Nie mogę połączyć się z bazą danych!";
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33. $i=0;
  34. $j=0;
  35. $arr = array();
  36. $arrdata = array();
  37. $czasobecnie = date("Ymdhis");
  38.  
  39.  
  40.  
  41. while($res = mysql_fetch_row($wynik))
  42. {
  43. $arr[$i++]=$res;
  44.  
  45.  
  46.  
  47. }
  48.  
  49. while($res1 = mysql_fetch_row($czas))
  50. {
  51.  
  52.  
  53.  
  54.  
  55. $jednostka_czasu="godzin";
  56.  
  57. $tablica = array(minut=>60, godzin=>3600, dni=>86400, sekund=>1);
  58. $roznica = round(((strtotime($czasobecnie) - strtotime($res1)) / $tablica[$jednostka_czasu]));
  59.  
  60.  
  61. $arrdata[$j++]=$roznica;
  62.  
  63.  
  64.  
  65. }
  66.  
  67.  
  68.  
  69.  
  70.  
  71. header('Content-Type: application/json');
  72. echo json_encode($arr);
  73. echo json_encode($arrdata);
  74.  
  75. ?>



W bazie mam dwa rekordy zapisane w formacie:

20160115000001
20160118000001





A po załadowaniu pliku otrzymuję dziwne liczby i w dodatku te same dla obu rekordów:

[403665,403665]





Gdy ustawię datę na sztywno, wszystko działa..


  1. <?php
  2. $jednostka_czasu="dni";
  3.  
  4. $czasobecnie = date("Ymdhis");
  5. $res1 = "20160115000001";
  6.  
  7. $tablica = array(minut=>60, godzin=>3600, dni=>86400, sekund=>1);
  8. $roznica = round(((strtotime($czasobecnie) - strtotime($res1)) / $tablica[$jednostka_czasu]));
  9.  
  10.  
  11.  
  12. echo $roznica;
  13. ?>


Podejrzewam, że mam błąd w pobieraniu danych z bazy, może jest źle zapisywana.. prosze o pomoc w rozwikłaniu tego.
Pozdrawiam smile.gif
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 15:06