Autor | Zpráva | ||
---|---|---|---|
Grave Profil * |
#1 · Zasláno: 16. 1. 2009, 16:41:57
Vím, že se to sem moc nehodí, ale jak udělat počítadlo, aby počítalo pouze jednou za den IP, plus vypisovalo nějak celkovy počet navštěvníků a počet navštěvníků ten den . . . Doufam, že se tu někdo kdo mi poradí. Je mi jasné že to bude přes mysql, jenže netuším jak to zapsat jako php scipt pravě . . . Kdyžtak děkuji za odpověd.
|
||
Grave Profil * |
#2 · Zasláno: 16. 1. 2009, 16:42:25
Kdyžtak stránka, kam by to mělo přijit je http://www.gravegame.net
|
||
Grave Profil * |
#3 · Zasláno: 16. 1. 2009, 17:07:19
Tak pocitadlo mam, ale haze mi to chybu a ja netusim proc :-(
<? $spojeni = mysql_connect("mysql5-3","kniha.101727","heslo") or die(mysql_error()); mysql_select_db("kniha_101727", $spojeni); ?> <? //načteme datum $den = date(d); $mesic = date(m); $rok = date(Y); $datumD = $rok . $mesic . $den; //zjištění IP adresy $ipactual = $_SERVER['REMOTE_ADDR']; //zjistíme si datum uložených položek a aktuální datum s ním porovnáme $vlozit = "SELECT * FROM pocitadlo LIMIT 1"; $dotaz = mysql_query($vlozit); while($r = mysql_fetch_array($dotaz)) { //jestliže se data liší, uložíme do tabulky "pristupy" počet záznamů z tabulky "pristupy" if (($datumD - $r[datum]) != 0) { $vlozit = "SELECT ip FROM pocitadlo"; $dotaz = mysql_query ($vlozit); $vysledek = mysql_num_rows($dotaz); $vlozit = "INSERT INTO pristupy (pocet, datum) VALUES ('$vysledek', '$r[datum]')"; $dotaz = mysql_query ($vlozit); //vymažeme záznamy z tabulky "pocitadlo" $vlozit = "TRUNCATE TABLE pocitadlo"; $dotaz = mysql_query ($vlozit); } } //zjistení zda je uz daná IP uložená v DB $vlozit = "SELECT ip FROM pocitadlo WHERE ip = '$ipactual'"; $vysledky = mysql_query ($vlozit); $vraci = mysql_num_rows($vysledky); //uložení záznamu do tabulky, jestliže daná IP ještě v seznamu není if ($vraci == 0) { $vlozit = "INSERT INTO pocitadlo (ip, datum) VALUES ('$ipactual', '$datumD')"; mysql_query ($vlozit) or die(mysql_error()); ?> <? //počet záznamů aktuální den.. tj. počet řádků z tabulky "pocitadlo" $vlozit = "SELECT datum FROM pocitadlo"; $vysledky = mysql_query ($vlozit) or die (mysql_error()); $navstevydnes = mysql_num_rows($vysledky); //vypsání 7 záznamů z tabulky "pristupy".. taková malá historie echo "<h4>Statistika přístupů</h4><p><b>Dnes:</b> $navstevydnes</p></div><h4>Počet přístupů za posledních 7 dní:</h4>"; $vlozit = "SELECT * FROM pristupy ORDER BY datum DESC LIMIT 0, 7"; $vysledky = mysql_query ($vlozit) or die (mysql_error()); while ($celkem = mysql_fetch_array($vysledky)) { extract($celkem); echo "<p> $datum - <b>$pocet</b></p>"; } ?> Databáze co mam udělané sou pocitadlo : ip varchar 255 primarni not null porovnani 1250_czech_cs, datum int 8 not null pristupy : pocet int 4 not null , datum int 8 not null primarni |
||
Grave Profil * |
#4 · Zasláno: 16. 1. 2009, 17:08:18
A chyba je Parse error: syntax error, unexpected $end
|
||
Moab Profil |
#5 · Zasláno: 16. 1. 2009, 17:13:10
tohle
if ($vraci == 0) { |
||
Grave Profil * |
#6 · Zasláno: 16. 1. 2009, 17:43:50
JJ diky moc, i kdyz se zatim nezobrazuje statistiky za poslednich 7 dni, coz doufam ze se zmeni
|
||
Grave Profil * |
#7 · Zasláno: 17. 1. 2009, 00:05:24
Tak pocitadlo funguje, pocita jak za den, tak za poslednich 7 dni, a jeste bych ho chtěl rozšířit o celkový počet návštěvníků . . . jenže před číslem za poslednich 7 dní, se mi zobrazuje číslo co mi nic neříká a hlavně toto číslo je hafo velky (20090116) . . . nevíte někdo čím to je? případně co je to za číslo? děkuji za odpověd
|
||
Grave Profil * |
#8 · Zasláno: 17. 1. 2009, 00:06:14
Dobry, uz mi doslo co to je, je to datum . . .
|
||
imploder Profil |
#9 · Zasláno: 17. 1. 2009, 09:32:15
„
//zjistíme si datum uložených položek a aktuální datum s ním porovnáme $vlozit = "SELECT * FROM pocitadlo LIMIT 1"; $dotaz = mysql_query($vlozit); while($r = mysql_fetch_array($dotaz)) { //jestliže se data liší, uložíme do tabulky "pristupy" počet záznamů z tabulky "pristupy" Tahle část kódu mi připadá, že rozhodně nedělá, co by měla. Vybere se právě 1 záznam tabulky a pak se (logicky to musí být jednou, pokud tabulka není prázdná) provede ten cyklus a datum toho záznamu se použije: $vlozit = "INSERT INTO pristupy (pocet, datum) VALUES ('$vysledek', '$r[datum]')"; |
||
Grave Profil * |
#10 · Zasláno: 17. 1. 2009, 14:38:18
„„1234567 //zjistíme si datum uložených položek a aktuální datum s ním porovnáme“
„$vlozit = "SELECT *“ „FROM pocitadlo“ „LIMIT 1";“ „$dotaz = mysql_query($vlozit);“ „while($r = mysql_fetch_array($dotaz)) {“ „//jestliže se data liší, uložíme do tabulky "pristupy" počet záznamů z tabulky "pristupy"““ „Tahle část kódu mi připadá, že rozhodně nedělá, co by měla. Vybere se právě 1 záznam tabulky a pak se (logicky to musí být jednou, pokud tabulka není prázdná) provede ten cyklus a datum toho záznamu se použije:“ „1 $vlozit = "INSERT INTO pristupy (pocet, datum) VALUES ('$vysledek', '$r[datum]')";“ Ted sem asi uplne nepochopil |
||
Časová prodleva: 1 měsíc
|
|||
Antorr Profil * |
#11 · Zasláno: 20. 2. 2009, 22:40:47
<? $spojeni = mysql_connect("mysql5-3","kniha.101727","heslo") or die(mysql_error()); mysql_select_db("kniha_101727", $spojeni); ?> <? //načteme datum $den = date(d); $mesic = date(m); $rok = date(Y); $datumD = $rok . $mesic . $den; //zjištění IP adresy $ipactual = $_SERVER['REMOTE_ADDR']; //zjistíme si datum uložených položek a aktuální datum s ním porovnáme $vlozit = "SELECT * FROM pocitadlo LIMIT 1"; $dotaz = mysql_query($vlozit); while($r = mysql_fetch_array($dotaz)) { //jestliže se data liší, uložíme do tabulky "pristupy" počet záznamů z tabulky "pristupy" if (($datumD - $r[datum]) != 0) { $vlozit = "SELECT ip FROM pocitadlo"; $dotaz = mysql_query ($vlozit); $vysledek = mysql_num_rows($dotaz); $vlozit = "INSERT INTO pristupy (pocet, datum) VALUES ('$vysledek', '$r[datum]')"; $dotaz = mysql_query ($vlozit); //vymažeme záznamy z tabulky "pocitadlo" $vlozit = "TRUNCATE TABLE pocitadlo"; $dotaz = mysql_query ($vlozit); } } //zjistení zda je uz daná IP uložená v DB $vlozit = "SELECT ip FROM pocitadlo WHERE ip = '$ipactual'"; $vysledky = mysql_query ($vlozit); $vraci = mysql_num_rows($vysledky); //uložení záznamu do tabulky, jestliže daná IP ještě v seznamu není if ($vraci == 0) { $vlozit = "INSERT INTO pocitadlo (ip, datum) VALUES ('$ipactual', '$datumD')"; mysql_query ($vlozit) or die(mysql_error()); ?> <? //počet záznamů aktuální den.. tj. počet řádků z tabulky "pocitadlo" $vlozit = "SELECT datum FROM pocitadlo"; $vysledky = mysql_query ($vlozit) or die (mysql_error()); $navstevydnes = mysql_num_rows($vysledky); //vypsání 7 záznamů z tabulky "pristupy".. taková malá historie echo "<h4>Statistika přístupů</h4><p><b>Dnes:</b> $navstevydnes</p></div><h4>Počet přístupů za posledních 7 dní:</h4>"; $vlozit = "SELECT * FROM pristupy ORDER BY datum DESC LIMIT 0, 7"; $vysledky = mysql_query ($vlozit) or die (mysql_error()); while ($celkem = mysql_fetch_array($vysledky)) { extract($celkem); echo "<p> $datum - <b>$pocet</b></p>"; } ?> Jak k tomu dodělat celkový počet návštěvníků? |
||
Časová prodleva: 15 let
|
0