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
// 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 *
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
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
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.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: