Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]W jakiej formie przetrzymywać date?
Forum PHP.pl > Forum > Przedszkole
Ulysess
witam , do tej pory zawsze operowałem na dacie w formie UNIXowym ale w tym przypadku to by się chyba nie sprawdziło..
otóż chodzi o to że chce zrobić statystyki które będą pobierane z innej strony a następnie dodawane do bazy , i tutaj pojawia się pytanie jaki typ pola wybrać i w jakiej formie dodawać date questionmark.gif na tą chwile dane są pobierane 1 dziennie ale możliwe że będą cześniej np 1x na 1h albo nawet co 10min..
dane chciałbym wyświetlać w postaci rankingu wybierając np opcje z dziś , wczoraj itd oraz poszczególne klikając w danego usera. jak radzicie dla czegoś takiego przetrzymywać date questionmark.gif
zordon
do przechowywania daty w mysql służy typ DATETIME i w tym zakresie nie ma chyba co kombinować. Są wprawdzie osoby które wolą timestamp ale w większości przypadków DATETIME jest jednak wygodniejszy

Ulysess
hmm ustawiłem tyl pola na Datetime ale przy dodawaniu pomijam sekunde bo ejst mi to zbędne więc data wygląda tak: '2010-09-21 10:51:00' i tutaj pojawia się pytanie jak np pobrać rekordy np z dzisiejszego / wczorajszego dnia questionmark.gif albo np z ost godziny ?

mam jeszcze inny dziwny problem.. otóż

wyświetlam statystyki dla danego użytkownika, jego nick pobieram z linka:
index.php?page=profil&nick=♥Blask ♥Twoich ♥Oczu ♥

i właśnie z tym nickiem mam problem..
nick jest filtrowany:
  1. $nick = strip_tags($_GET['nick']);

a następnie wykonywane jest zapytanie:
  1. $zapytanie['logs_players'] = "SELECT * FROM `logs_players` WHERE `nick` = '".mysql_real_escape_string($nick)."' ORDER BY `date` DESC LIMIT 30";

niestety niby nie ma danych dla takiego użytkownika w bazie a są sprawdzałem nawet kopiując ze strony i wklejając w tabeli w bazie.
co źle robię ?
nospor
Cytat
pobrać rekordy np z dzisiejszego / wczorajszego dnia albo np z ost godziny ?

http://dev.mysql.com/doc/refman/5.1/en/dat...-functions.html
Pierwszy przyklad z brzegu:
Cytat
Here is an example that uses date functions. The following query selects all rows with a date_col value from within the last 30 days:
mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;


Co do drugiego to przeciez wladasz samo zapytanie, a nie jego wynik. O mysql_query, mysql_fetch_array slyszal?
Ulysess
co do pierwszego dzięki , co do drugiego nie rozumiem ale mam tak to zrobione:

  1. $zapytanie['logs_players'] = "SELECT * FROM `logs_players` WHERE `nick` = '".mysql_real_escape_string($nick)."' ORDER BY `date` DESC LIMIT 30";
  2. $wykonano_zapytanie['logs_players'] = mysql_query($zapytanie['logs_players']) or die(mysql_error());
  3. $weryfikacja = mysql_num_rows($wykonano_zapytanie['logs_players']);
  4.  
  5. //echo $zapytanie['logs_players'],'<br>';
  6.  
  7. if($weryfikacja > 0)
  8. {
  9. echo '<table class="itemy">
  10. <tr class="c" onMouseOver="this.className=\'d\'" onMouseOut="this.className=\'c\'">
  11. <td class="itemnazwa">L.p</td>
  12. <td class="itemnazwa">Nick</td>
  13. <td class="itemnazwa">Level</td>
  14. <td class="itemnazwa">Doświadczenie</td>
  15. <td class="itemnazwa">Data</td>
  16. </tr>';
  17. $l = 1;
  18. while($dane_acc = mysql_fetch_assoc($wykonano_zapytanie['logs_players']))
  19. {
nospor
o widzisz, w kodzie wczesniej nie pokazales mysql_query() winksmiley.jpg

A co ci wyswietla:
echo "SELECT * FROM `logs_players` WHERE `nick` = '".mysql_real_escape_string($nick)."' ORDER BY `date` DESC LIMIT 30";
?
Ulysess
a bo po co questionmark.gif ;p

SELECT * FROM `logs_players` WHERE `nick` = '♥Blask ♥Twoich ♥Oczu ♥' ORDER BY `date` DESC LIMIT 30
nospor
yyy, jestes pewien ze w bazie masz takiego nicka
♥Blask ♥Twoich ♥Oczu ♥
z tymi krzakami?
Wklejenie tego do PMA daje ci jakieś wyniki?

Pozatym co to za pomysł trzymać logi w połączeniu z nikiem? Daj tam ID usera
Ulysess
w tabeli logs_players w polu nick ewidentnie mam '♥Blask ♥Twoich ♥Oczu ♥'
nospor
Cytat
Wklejenie tego do PMA daje ci jakieś wyniki?
Ulysess
hmm w skrypcie mam:
  1. $nick = strip_tags($_GET['nick']);
  2. echo $nick;

wyświetlony nick wklejam w PMA -> szukaj i nie znajduje rekordów.. wtf ?

hmm nie rozumiem czemu w bazie jest rekord '♥Blask ♥Twoich ♥Oczu ♥' a gdy go kopiuje i wklejam w szukaj wyskakuje 'MySQL zwrócił pusty wynik (zero rekordów). (Wykonanie zapytania trwało 0.0024 sekund(y))' :|.. problem z kodowaniem czy w czymś inny tkwi problem ?
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.