![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 9.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
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 (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) [/sql] |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 9.05.2003 Ostrzeżenie: (0%) ![]() ![]() |
czyzby chodzilo o uzycie COUNT(url) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
|
|
|
![]()
Post
#3
|
|
Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
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. |
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
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 (
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?
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] |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 9.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
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 (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 17:36 |