Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Regeneracja paliwa
Forum PHP.pl > Forum > Przedszkole
wildgun11
Siemano. Przychodze do was z jednym problemem. Napisałem taki skrypt :

  1.  
  2. <html>
  3. <head>
  4. <link rel="stylesheet" href="style.css" type="text/css">
  5. </head>
  6.  
  7. <?php
  8. include 'config.php';
  9. db_connect();
  10.  
  11. check_login();
  12.  
  13. $user_data = get_user_data();
  14.  
  15. $user_paliwo = intval( (time() - $user_time) );
  16.  
  17.  
  18. $siema = mysql_query("UPDATE users SET user_paliwo=$user_paliwo WHERE user_id=$user_id");
  19. echo $user_paliwo;
  20.  
  21.  
  22.  
  23.  
  24. db_close();
  25. ?>
  26.  
  27. </head>
  28.  
  29.  
  30.  
  31.  
  32.  





Skrypt odlicza sekunde po czym zmienna wzrasta o 1 i tak w kółko. Tylko jest jeden problem. Zamiast odliczać mi od zera odlicza od '?1406053793' . Wiecie moze jak sie tego pozbyc ?
johny_s
a czego się spodziewasz odejmując od time() na dodatek
$user_time masz gdzieś zdefiniowane?
wildgun11
To jak mam to napisac aby było dobrze ?
johny_s
no jeśli to ma jakoś na czasie bazować to po co aktualizować?
wildgun11
Chodzi mi bardziej o to by w trakcie sesi do 1 zmiennej co 1 sekunde dodawac 1 wartosc.
johny_s
a jak chcesz to wywoływać? z crona, ajaxem czy poprosisz usera aby odświeżał strone?
wildgun11
Nie znam sie ani na cornie ani na ajaksie . Można to jakoś zrobić aby poprostu sobie odświeżał strone. To nie bedzie w niczymp rzeszkadzac.
johny_s
no to sobie poczytaj o cronie, ajaxie i wróć smile.gif
odświeżanie strony to najgłupsze co możesz zrobić
i pomyśl nad innym rozwiązaniem bo aktualizacja co sekunde to też nie najlepszy pomysł
wildgun11
To w takim razie mógłbyś mi doradzić w jaki sposób mam to zrobić ? smile.gif
johny_s
zależy do czego to coś potzrebujesz,
zapisać w bazie wartość i czas, skoro co 1s przyrasta o 1 to jak będziesz poberał dane 321s później to wiesz że ta wartość zwiększyła się o 321
wildgun11
O tak , o to mi mniejwiecej chodzi smile.gif

To jaki mam zastosowac skrypt ?
Pyton_000
Musisz w bazie zapisać czas ostatniej aktualizacji, potem go pobrać, obliczyć różnicę z czasem bieżącym i dodać różnicę aktualizując rekord i tak do... and do...
wildgun11
No okej. Wziełem się za to ale już na początku mam pierwszy problem. Mianowicie. Mam taki kod :

  1.  
  2.  
  3. <html>
  4. <head>
  5. <link rel="stylesheet" href="style.css" type="text/css">
  6. </head>
  7.  
  8. <?php
  9. include 'config.php';
  10. db_connect();
  11.  
  12. check_login();
  13.  
  14.  
  15. date_default_timezone_set("Europe/Warsaw");
  16.  
  17.  
  18.  
  19. $date=(date("Y-m-d h:i:s"));
  20.  
  21. echo $date;
  22.  
  23. $siema = mysql_query("UPDATE users SET user_czas1=$date WHERE user_id=$user_id");
  24.  
  25.  
  26. db_close();
  27. ?>
  28.  
  29. </head>
  30.  


Stwożyłem tabele w MySQL o nazwie user_czas1 i typie TIMESTAMP(dawalem rozne , od date do time) . Wartosc $date nie chce sie zapisac w bazie. Wie moze kots dlaczego ?
johny_s
apostrofy na zmienna
wildgun11
Nadal nic.
johny_s
pokaż jak masz
wildgun11
  1.  
  2.  
  3. <html>
  4. <head>
  5. <link rel="stylesheet" href="style.css" type="text/css">
  6. </head>
  7.  
  8. <?php
  9. include 'config.php';
  10. db_connect();
  11.  
  12. check_login();
  13.  
  14.  
  15. date_default_timezone_set("Europe/Warsaw");
  16.  
  17.  
  18.  
  19. $date=(date("Y-m-d h:i:s"));
  20.  
  21. echo ".$date.";
  22.  
  23. $siema = mysql_query("UPDATE users SET user_czas1=".$date." WHERE user_id=$user_id");
  24.  
  25.  
  26. db_close();
  27. ?>
  28.  
  29. </head>
  30.  
johny_s
  1. $siema = mysql_query("UPDATE users SET user_czas1='$date' WHERE user_id=$user_id");
wildgun11
Dziękuje smile.gif
Taki mały błąd a potrafi dać w kość :/
Jestem w trakcie pisania tego wlasnie skryptu wiec jak cos to jeszcze napisze smile.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.