pocitadlo tyzden

Programovacie jazyky, rady, poradňa...
Dart
Amateur
Amateur
Príspevky: 18
Registrovaný: 01 mar 2007, 21:39
Bydlisko: Prievidza

pocitadlo tyzden

Príspevok od používateľa Dart »

ako (by) ste riesili pocitadlo, kt ukazuje pocet navstev za tyzden,
presnejsie, podrebujem myslienku, kt by riesila tyzdne -> novy tyzden, nove pocitanie
pozn. nemam k dispozicii cron
mastermind
VIP
VIP
Používateľov profilový obrázok
Príspevky: 4810
Registrovaný: 09 feb 2005, 13:17

Príspevok od používateľa mastermind »

databaza
tomasmate
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1216
Registrovaný: 26 júl 2006, 9:12
Bydlisko: Martin

Príspevok od používateľa tomasmate »

alebo TOPLIST
Dart
Amateur
Amateur
Príspevky: 18
Registrovaný: 01 mar 2007, 21:39
Bydlisko: Prievidza

Príspevok od používateľa Dart »

boze to su odpovede...
php dokaze vypisat den, mesiac, rok, sekundy, minuty, hodina, urcit priestupne roky, den v roku, a pod.
ale nevie vypisat cislo tyzdna v roku, preto nemam sancu zistit ci sa ma pocitadlo vynulovat a zacat pocitat novy tyzden alebo pripocitavat k doterajsim hodnotam.

poprosil by som trochu viac uzitocne odpovede ak ste toho schopni
jorg22
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1087
Registrovaný: 12 aug 2006, 20:39
Kontaktovať používateľa:

Príspevok od používateľa jorg22 »

moholby si ukladat datum do suboru ktory keby sa po 7 dnoch prekrocil tak by sa vymazal datum aj udaje v MySQL a ulozil by sa tam datum + 7dni.
A takto by to malo fachat dufam.
mastermind
VIP
VIP
Používateľov profilový obrázok
Príspevky: 4810
Registrovaný: 09 feb 2005, 13:17

Príspevok od používateľa mastermind »

1. php vie velmi jednoducho vypisat poradove cislo tyzdna
2. keby aj nevedelo, je to funkcia na 3-4 riadky
3. tie odpovede by ti mali stacit. staci rozumne do databazy ukladat pristupy a potom je to uz len otazka spravnej query
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Napr: toto vypíše s phpBB2 príspevky pridané v aktuálnom týždni (ak som na niečo nezabudol):

Kód: Vybrať všetko

SELECT *  FROM `phpbb_posts` WHERE YEARWEEK(DATE(FROM_UNIXTIME(post_time))) = YEARWEEK(CURDATE())
(takže ak sa ukladajú prístupy so DB, tak sa podobne dá spočítať počet prístupov za aktuálny týždeň)
Dart
Amateur
Amateur
Príspevky: 18
Registrovaný: 01 mar 2007, 21:39
Bydlisko: Prievidza

Príspevok od používateľa Dart »

moholby si ukladat datum do suboru...
tam by vznikali problemy s prechodom na dalsi mesiac, ale v suvislosti s tvojou myslienkou mi napadol sposob cez time().
Ulozim si time() v pondelok sekundu po polnoci a pripocitavat budem ak aktualny time() bude <= ulozeny time() + 604800 (dlzka tyzdna v sekundach). Ak bude aktualny time() > ulozeny time() + 604800, potom *zistim hodnotu time() pondelka v aktualnom tyzdni sekundu po polnoci a prepisem nou ulozeny time().

*ulozeny time() + x*604800, pricom plati ze,
(ulozeny time() + x*604800) < time() < (ulozeny time() + (x+1)*604800)
Napr: toto vypíše s phpBB2 príspevky pridané v aktuálnom týždni...
pekna fcia, velmi si mi pomohol

mastermind, pochop, ze mna tvoje prudko inteligentne odpovede nezaujimaju, ja potrebujem konkretnu fciu alebo myslienku kt by to slo riesit

jorg22 & chrono, dik za pomoc
mastermind
VIP
VIP
Používateľov profilový obrázok
Príspevky: 4810
Registrovaný: 09 feb 2005, 13:17

Príspevok od používateľa mastermind »

aha takze dalsi kto patri do kategorie konzumentov. Ked si nechcel radu ale rovno kod mal si to napisat. Ale je pravda, ze mi to mohlo napadnut. Dnes uz chce malokto nejaky maly hint ako to urobit s tym ze si to nastuduje sam.
tak na, zadrhni sa a nezabudni si na stranku na ktorej to pouzijes napisat copyright by Dart :aasmile2: :smt018

Kód: Vybrať všetko

SQL TABLE:

DROP TABLE IF EXISTS `poll`.`web_acces_log`;
CREATE TABLE  `poll`.`web_acces_log` (
  `acl_week` int(5) unsigned NOT NULL,
  `acl_year` smallint(5) unsigned NOT NULL,
  `acl_ip` int(10) unsigned NOT NULL,
  PRIMARY KEY  (`acl_week`,`acl_ip`,`acl_year`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

PHP CODE:
<?php
function LogAccess($dbLinkId)
{
	$query="INSERT INTO web_acces_log set acl_week=".date("W").", acl_year=".date("Y").",acl_ip=INET_ATON('".$_SERVER['REMOTE_ADDR']."')";
	@mysql_query($query,$dbLinkId);
	return 1;
}

function GetAccessCount($dbLinkId)
{
	$query="SELECT count(*) as acc_per_week FROM web_acces_log w where w.acl_week=".date("W")." and  w.acl_year=".date("Y");
	$dbResult=@mysql_query($query,$dbLinkId);
	$stats=@mysql_fetch_object($dbResult);
	return (int)$stats->acc_per_week;
}

/*mysql_connect.....*/
LogAccess($dbLink);
echo GetAccessCount($dbLink);
?>
Dart
Amateur
Amateur
Príspevky: 18
Registrovaný: 01 mar 2007, 21:39
Bydlisko: Prievidza

Príspevok od používateľa Dart »

mastermind pochop ze sem pisem preto lebo porebujem napad, myslienku, funkciu (nie cely zdrojak)
keby si mi napisal ... skus to cez mysql funkciu YEARWEEK, uplne by mi to stacilo, nasiel by som si co to je za funkciu, ako sa pouziva a bolo by po probleme
alebo, skus to cez odpamatavania si time() ... premyslal by som tym smerom
alebo nieco ine, co by ma nasmerovalo, lenze ty si premudro napisal "databaza", co mi (musis uznat) nijak nepomohlo a potom si pisal ze php to vie a ze je to fciu na 3-4 riadky, co mi zas (musis uznat) nijak nepomohlo.
Predstav si ze si niekde v Turecku, potrebujes najst WC, spytas sa okoloiduceho a on ti odpovie ze ho lahko najdes a odide prec ...

PS: ja zdrojaky nekopcim, ale pisem a ak si si nevsimol, uz mi pred tebou chrono poradil fciu. Zdrojak som si hned nato napisal SAM.
... koniec debaty
Napísať odpoveď