Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: liczenie rekordow
Forum PHP.pl > Forum > Bazy danych > MySQL
Dj_Bruss
jak zrobic aby obliczal wczoraj ile razy wczoraj sciagnieto
tworze tabele
Kod
CREATE TABLE pliki (

  id int(11) NOT NULL default '0' auto_increment,

  nazwa varchar(255) NOT NULL,

  url varchar(255) NOT NULL,

  ile integer default '0',

  wczoraj integer default '0',

  PRIMARY KEY  (id),

  UNIQUE id (id)

);

kod wyswietlajacy wszystkie rekordy z bazy czyli plik programy.php
Kod
<?

  

   $query = "SELECT * FROM pliki ORDER BY ile DESC";

   $wynik = mysql_query($query);

  

   while($rzad = mysql_fetch_array($wynik)) {

      

      echo "<TR>n"

      ."<TD align=center height=8><a href="download.php?id=".$rzad['id']."">".$rzad['nazwa']."</TD>n"

      ."<TD align=center height=8>".$rzad['ile']."</TD>n"

      ."<TD align=center height=8>".$rzad['wczoraj']."</TD>n"

      ."<TD align=center height=8>".$rzad['dodanie']."</TD>n"

      ."</TR>n";  

   }

?>

a teraz plik download.php
Kod
<?

$zap = "SELECT url FROM pliki WHERE id='$id'";

   $wykonaj = mysql_query($zap);

   $rzad = mysql_fetch_array($wykonaj);

  

   Header("Location: ".$rzad['url']);

  

   $query = "UPDATE pliki SET ile=ile+1 WHERE id='$id'";

   $wynik = mysql_query($query);

   exit();

?>

i teraz mam pytanie jak zrobic aby liczyl ile wczoraj pobrano i ogolem questionmark.gif[/sql]
lol
czyzby chodzilo o uzycie COUNT(url) questionmark.gif
DeyV
tak na mój chłopski rozum, to by można było policzyć, ile razy działo się coś danego dnia, pasowałoby zapisywać datę w której sie to dzieje. Inaczje ani rusz...
W takim przypadku poczebna by była 2 tabela, w której zapisana by była data zciągniecia i numer pliku.
A następnie liczyć ilość zdarzeń w danym dniu.
Jabol
Tak jak mówił DeyV, potrzebna by była druga tablica, chyba, że dodałbyś pole dzisiaj i przy pierwszym załadowanie po północy przerzucał z dzisiaj do wczoraj a dzisiaj zerował. Osobiście jednak wybrałbym pomysł pierwszy (DeyV'a), a mógłbyś to zrobić za pomocą COUNT() ... GRUP BY, albo CASE ... THEN.


PS.
Cytat
[sql:1:0f673ec710]CREATE TABLE pliki (
id int(11) NOT NULL default '0' auto_increment,
nazwa varchar(255) NOT NULL,
url varchar(255) NOT NULL,
ile integer default '0',
wczoraj integer default '0',
PRIMARY KEY (id),
UNIQUE id (id)
);[/sql:1:0f673ec710]
Mam takie pytanie. Czy tutaj potrzebne jest Unique. z tego co wiem to pk jest połączeniem unique i not null, więc unique jest chyba zbędne?
Dj_Bruss
masz racje Jabol Unique jest tutaj nie potrzebne np w skryptach rankingu widzialem ze data jest zrobiona na 28 dni ale to jest za duzo tabelek
ale jak zrobic zeby zerowal tego nie wiem bo reszte zrozumialem ale zerowaniem jeszcze sie nie bawilem questionmark.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.