Autor | Zpráva | ||
---|---|---|---|
H Profil * |
Zdravim, potreboval bych resetovat pocitadlo pristupu vzdy k zacatku noveho mesice.
Zkousel sem to napsat takto, ale to sem se dostal do "pasti" protoze by se ta 0 vkladala do DB po cely prvni den, takze by se zacaly hodnoty pristupu na stranku pricitat az od druheho dne kdy uz podminka neplati.. // reset pocitadla pristupů k 1 dni v mesíci $den = date("d"); if ($den==1) { mysql_connect("$host", "$username", "$password")or die("cannot connect to server "); mysql_select_db("$db_name")or die("cannot select DB"); mysql_query("update $tbl_name set counter='0'"); mysql_close(); } Takze co potrebuju je to aby pocitani fungovalo po resetu vcetne toho prvniho dne. Diky za odp. |
||
Spacebar Profil |
#2 · Zasláno: 14. 3. 2010, 13:15:47 · Upravil/a: Spacebar
// reset pocitadla pristupů k 1 dni v mesíci $den = date("d"); if ($den==1) { mysql_connect("$host", "$username", "$password")or die("cannot connect to server "); mysql_select_db("$db_name")or die("cannot select DB"); $resetovano = mysql_num_rows(mysql_query("select * from $tbl_name where counter != '0'")); if ($resetovano != 0) { mysql_query("update $tbl_name set counter='0'"); } mysql_close(); } Jo a nechapu, proč máš sloupec counter očividně jako textový sloupec? Popřípadě, proč ho tak divně updatuješ: counter='0' |
||
H Profil * |
#3 · Zasláno: 14. 3. 2010, 15:39:08
Spacebar:
díky za tvoji odpoved, ale tvuj kod je uplne to same co mam ja, jen trochu sloziteji napsane.. Muj kod rika: Kdyz je prvni den v tydnu $den if ($den==1) { Nahrad cisla v tabulce mysql za nulu (neboli jinak receno resetuj pocitadlo). Tvoje verze je: "..kdyz tam neni nula, nahrad to za nulu.." Coz je to same co mam ja... Ja potrebuju docilit toho aby se prvni den v tydnu resetovalo pocitadlo (hodnoty v tabulce se nahradili za nulu) a pak celý zbytek toho prvniho dne se uz pristupy pricitaly normalne. Tedka to funguje tak ze cely prvni den se nezapocitavaji zadne pristupy protoze podminka rika "kdyz je prvni den v tydnu updatuj hodnoty v tabulce na 0". Kdybych to mel vysvetlit na prikladu: Tzn. k 1.1 2010 se od pulnoci 12:00:01 resetuje pocitadlo (protoze je novy mesic) a 1.1 2010 12:00:02 uz se normalne budou pocitat veskere pristupy na stranku.. |
||
AM_ Profil |
#4 · Zasláno: 14. 3. 2010, 17:41:56
Spacebar:
> Jo a nechapu, proč máš sloupec counter očividně jako textový sloupec? > Popřípadě, proč ho tak divně updatuješ: MySQL umožňuje dávat do apostrofů i integery, a já toho třeba docela využívám, prostě všechny hodnoty se dají do apostrofů a nic se dál neřeší, obzvláště dobré je to při automatické výstavbě SQL dotazů. |
||
tatyalien Profil |
#5 · Zasláno: 15. 3. 2010, 16:27:59
tak si uložit do DB datum posledního resetu, pokud je datum resetování například 1.1.2010 a spustím znova ve stejný den skript na reset tak si u něj dát kontrolu, pokud datum je stejný jako v db, nedělej nic, pokud ano vyresetuj tabulku a přepiš datum posledního resetu.
|
||
Časová prodleva: 14 let
|
0