Stránka: 1 z 1
| [ Príspevkov: 25 ] | |
Autor | Správa |
---|
Registrovaný: 01.09.07 Prihlásený: 18.05.11 Príspevky: 141 Témy: 36 | 36 Bydlisko: 127.0.0.1 |
Mam tabulku, kde ukladam kazdy jeden hit na stranke a polia sú id,ip,kde,kedy,browser a chcel by som aby mi to vybrolo pocet IPiek, cize je tam riadkov, kde je IP rovnaka a chcem, aby mi to vybralo iba pocet riadkov, kde nie su 2 ipky rovnake. Moze to byt nieco ako toto:
Kód: mysql_query(SELECT COUNT(ip) FROM .....); Momentalne to nemozem odtestovat, lebo web mam na localhoste a z jednou ipkou neviem ci dava fakt iba jeden riadok alebo SQL nevie co od neho chcem.
|
|
Registrovaný: 26.11.06 Prihlásený: 09.10.24 Príspevky: 4118 Témy: 319 | 319 Bydlisko: HE/BA |
ty chces aby ti to vybralo dve rovnake ip alebo len jednu aj ked ich budes mat ulozenych aj desat rovnakych?
|
|
Registrovaný: 29.12.05 Prihlásený: 14.08.18 Príspevky: 539 Témy: 62 | 62 Bydlisko: 127.0.0.1 (... |
myslim ze chcel, aby mu to spocitalo len tie, kde sa opakuju ip...tam kde je len jedna jedina IP to vynacha
_________________ "Kde končí hiphop, začína IQ." |
|
Registrovaný: 01.09.07 Prihlásený: 18.05.11 Príspevky: 141 Témy: 36 | 36 Bydlisko: 127.0.0.1 |
v tej tabulke mam kazdy jeden hit (nacitanie stranky), cize jedna ip je tam aj viackrat a ja chcem, aby mi spocitalo pocet tych ipiek. A kedze jedna ip je tam viackrat, tak nemozem len spocitat vsetky riadky v tabulke, lebo by mi jednu ip pocitalo viackrat
_________________ It easier to run away |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
pouzi GROUP BY
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 01.09.07 Prihlásený: 18.05.11 Príspevky: 141 Témy: 36 | 36 Bydlisko: 127.0.0.1 |
?? zapis ? Kód: SELECT COUNT(ip) FROM {$prefix}_hits GROUP BY(ip) tak to nejako ?, lebo ak ano, tak to nema ucinok. Totiz mam napr 27 hitov a po pouziti tohoto dava aj tak 27 a nie 1 (na locale som sam  )
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
skus toto:
Kód: SELECT ip, COUNT(ip) FROM {$prefix}_hits GROUP BY ip
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 26.11.06 Prihlásený: 09.10.24 Príspevky: 4118 Témy: 319 | 319 Bydlisko: HE/BA |
ja by som vuzil skor distinct
Kód: SELECT COUNT(ip) FROM {$perfix}_hits DISTINCT
toto ti vypise 1 aj ked budes ma milion hitov
|
|
Registrovaný: 29.12.05 Prihlásený: 14.08.18 Príspevky: 539 Témy: 62 | 62 Bydlisko: 127.0.0.1 (... |
mozno lepsi postup by bol zapisovat len jedenkrat pri jednej navsteve stranky...inac by to zratavalo len 1 ip na kazdu navstevu...ked to niekto navstivi z rovnakej IP v pondelok, v stredu a v nedelu nezobrazi sa 3 navstevy ale 1...ja som si napisal nieco takeho:
db:
Kód: CREATE TABLE `navstevy` ( `id` INT NOT NULL AUTO_INCREMENT , `ip` varchar(15) NOT NULL , `cas` varchar (128) NOT NULL, `session_id` varchar(128) NOT NULL default '', PRIMARY KEY ( `id` ) ); a skript kt. si hodis na kazdu stranku vyzera asi takto: Kód: <? session_start(); //pocitadlo $sesid=session_id(); $ip = $_SERVER['REMOTE_ADDR']; $cas = time();
$vysledok=mysql_query("select session_id from qrs_navstevy where session_id='".$sesid."'"); if (mysql_num_rows($vysledok)=="0") mysql_query("insert into navstevy values (0, \"$ip\", \"$cas\", \"$sesid\")"); //koniec pocitadlo ?>
session_id() je jedinecny pre kazdu navstevu a zapise len vtedy ked uz tam predtym nebol...opravte ma ked sa mylim...vyber si uz zabezpecis 
Naposledy upravil qacer dňa 08.12.2007 15:15, celkovo upravené 1
_________________ "Kde končí hiphop, začína IQ." |
|
Registrovaný: 01.09.07 Prihlásený: 18.05.11 Príspevky: 141 Témy: 36 | 36 Bydlisko: 127.0.0.1 |
nepomaha, dava zase vsetky hity.
_________________ It easier to run away |
|
Registrovaný: 26.11.06 Prihlásený: 09.10.24 Príspevky: 4118 Témy: 319 | 319 Bydlisko: HE/BA |
moj kod si skusal?? ten ti musi ist
|
|
Registrovaný: 01.09.07 Prihlásený: 18.05.11 Príspevky: 141 Témy: 36 | 36 Bydlisko: 127.0.0.1 |
Drako: dava chybu You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DISTINCT' at line 1
qacer: novú tabuľku nechcem robit, lebo na tuto su naviazane ine statistiky
_________________ It easier to run away |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
nechapem, ako ti nemoze ist to group by, ked mne to ide
distinct sa nedava na koniec prikazu, ale pred nazov pola, ktory chces "obmedzit"
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 26.11.06 Prihlásený: 09.10.24 Príspevky: 4118 Témy: 319 | 319 Bydlisko: HE/BA |
jaaj no ta nvm sami vidi ze mne to islo aj na konci ale ked nňno tak nic  ale myslim ze to group by nieje prave najvhodnejsim riesenim stenley, on nechce aby mu vypisalo zaradom vsetky ip-cky ale aby mu vypisalo iba jednu z desiatich rovnakych to iste som potreboval aj ja davnejsie pri tych mojich typoch, a poradil si mi DISTINCT takze tak 
|
|
Registrovaný: 29.12.05 Prihlásený: 14.08.18 Príspevky: 539 Témy: 62 | 62 Bydlisko: 127.0.0.1 (... |
tatysp píše: qacer: novú tabuľku nechcem robit, lebo na tuto su naviazane ine statistiky
tak tam smar len Kód: `session_id` varchar(128) NOT NULL default '',
a dolad to 
_________________ "Kde končí hiphop, začína IQ." |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
Drako píše: on nechce aby mu vypisalo zaradom vsetky ip-cky ale aby mu vypisalo iba jednu z desiatich rovnakych to iste som potreboval aj ja davnejsie pri tych mojich typoch, a poradil si mi DISTINCT takze tak 
no hej, ale on chce zistit aj kolkokrat sa ta ip opakuje (aspon tak som to pochopil)
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 01.09.07 Prihlásený: 18.05.11 Príspevky: 141 Témy: 36 | 36 Bydlisko: 127.0.0.1 |
ja ani neviem aky ma vyznam GROUP BY (teda neviem aky je to prikaz), cize ja vobec neviem preco to nejde
ak dam distinct pred COUNT(ip), tak uz to nehadze chybu, ale dava opat plny pocet.
Neda sa to nijak inak, len ze by som musel vyberat vsetky a v PHP to ratat ? Ked sa to nebude dat, tak ja tu jednu tabulku naviac urobim, ale chcel by som to podla moznosti v tejto, kedze potom by som chcel urobit aj statistiky ako najcastejsi browser, rozlisenie, aby som vedel, ako mam optimalizovať web.
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
skus sem dat php kod, ktorym to vytahujes z db
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 01.09.07 Prihlásený: 18.05.11 Príspevky: 141 Témy: 36 | 36 Bydlisko: 127.0.0.1 |
stenley píše: no hej, ale on chce zistit aj kolkokrat sa ta ip opakuje (aspon tak som to pochopil) nie, to nepotrebujem, ja len chces vypis navstevy spolu: $spolu[0], kde spolu je ten prikaz. Ja chcem len vybrat ten pocet tych riadkov, ale nechem aby tam boli vsetky hity (zobrazenia) stranky, ale aby len sa zobrazil pocet ipiek
napr ma v DB riadky
id | ip ....
0 | 127.0.0.1
1 | 127.0.0.1
2 | 127.0.0.1
tak chcem, aby mit to dalo pocet 1, kedze je tam jedna ipka viackrat, ak by to bolo napr takto
0 | 127.0.0.1
1 | 127.0.0.1
2 | 127.0.0.1
3 | 1.2.3.4
tak by mi vypysalo cislo 2, lebo su tam 2rozne hodnoty IP, dufam ze to uz chapete
EDIT, tu je ten kod:
Kód: $spolu=mysql_fetch_row(mysql_query("SELECT DISTINCT COUNT(ip) FROM {$prefix}_hits")); echo mysql_error(); $mesiac=mysql_fetch_row(mysql_query("SELECT COUNT(*) FROM {$prefix}_hits WHERE DATE_FORMAT(kedy,'%m')='".date("m")."'")); $dnes=mysql_fetch_row(mysql_query("SELECT COUNT(ip) FROM {$prefix}_hits WHERE DATE_FORMAT(kedy,'%d')='".date("d")."' GROUP BY(ip)")); $foot_info="<b>Štatistiky:</b> spolu $spolu[0], za tento mesiac $mesiac[0], dnes $dnes[0], <b><a href="?page=rss" title="Pridajte si RSS kanál tohto webu do vaších čítačiek" target="_top">RSS</a></b><br />\n";
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
tatysp píše: Ja chcem len vybrat ten pocet tych riadkov, ale nechem aby tam boli vsetky hity (zobrazenia) stranky, ale aby len sa zobrazil pocet ipiek
jaaaj, no poviem skorej  toto uz hadam pojde:
Kód: SELECT COUNT(DISTINCT ip) FROM {$prefix}_hits
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 01.09.07 Prihlásený: 18.05.11 Príspevky: 141 Témy: 36 | 36 Bydlisko: 127.0.0.1 |
tak toto už ide na localhoste, kde je zatial iba 127.0.0.1, dam este na web a poviem
EDIT: ide to aj na serveri, a ked sme uz pri tom, ako by sa dalo tymto stylom vybrat pocet za poslednych napr 10min
Kód: SELECT .... WHERE kedy=NOW()-(10*60) slo by to ? alebo to ma iny zapis ?
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
skor by som povedal, ze takto:
Kód: SELECT COUNT(DISTINCT ip) FROM {$prefix}_hits WHERE kedy>=SUBDATE(NOW(), INTERVAL 10 MINUTE)
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 25.07.07 Prihlásený: 27.11.14 Príspevky: 217 Témy: 38 | 38 Bydlisko: Kálnica city |
ja len podotknem ze funkcia now() tusim ide len na localhoste. Na webe pouzi $date
|
|
Registrovaný: 01.09.07 Prihlásený: 18.05.11 Príspevky: 141 Témy: 36 | 36 Bydlisko: 127.0.0.1 |
nie, NOW() mi ide aj na normalnom serveri (od banan.cz), mozno len tvoj poskytovatel to nejak blokuje
_________________ It easier to run away |
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 | 96 |
taky prd, NOW() je funkcia SQL teda by mala ísť všade
|
|
Stránka: 1 z 1
| [ Príspevkov: 25 ] | |
|