Autor Zpráva
mirio
Profil
Ahoj,

hned na začátku Vás upozorním, že jsem NAPROSTÝ začátečník, tak se, prosím, obrňte trpělivosti. Díky. :-)

O co mi jde? Potřeboval bych pomoct s navrhnutím tabulky, do které budu vkládat články. Jde mi o sloupce, které jsou třeba vytvořit, abych na něco nezapoměl (pak už bude pozdě)...

Já na to šel zatím takto (někde jsem si k tomu něco přečetl, už nevím kde):

idclanku - nazev - clanek - rubrika - autor - datum

idclanku - identifikátor (už mám skript na komentáře, který se na id odkazuje)
nazev - z tohohle udělám název a aktivní odkaz

U ostatních není co popisovat.

Chtěl bych na stránky něco jako statistiku počtu přečtení článku, je na to třeba přidávat nějaký sloupec?

Dále statistiku počtu článku (tu udělám pomocí mysql_num_rows(), správně?).

No, to je pro začátek vše, ale mám toho mnohem víc, tak postupně. :-))

Dopředu díky za pomoc!!!
Kajman_
Profil *
abych na něco nezapomněl (pak už bude pozdě)...

Přidání dalších sloupečků časem nebývá problém.

Chtěl bych na stránky něco jako statistiku počtu přečtení článku, je na to třeba přidávat nějaký sloupec?

Lze to tak řešit.

Dále statistiku počtu článku

select count(*) pocet from tabulka
mirio
Profil
Chtěl bych na stránky něco jako statistiku počtu přečtení článku, je na to třeba přidávat nějaký sloupec?

Lze to tak řešit.


Aha a jaký sloupec by to měl být? Co by měl obsahovat?
YoSarin
Profil
mirio
šikovná by taky byla možnost "publikováno/v přípravě" to když třeba rozepíšeš nějakej článek přímo v editaci a něco ti do toho vleze, tak abys h omohl jednoduše uložit a mít jistotu, že se nikde nezobrazí. Jinak bys musel hlídat buď aby sis to okno s rozepsaným článkem nezavřel, nebo ctrl-c a ctrl-v do nějakého souboru, případně to nepsat v editaci ale v nějakém obyč. text editoru... :-)
K té statistice - možná bych na to udělal spešl tabulku, ale ono je to asi fuk. Přidal bych tyhle polozky
shlednuti - počet kolik uživatelů tenhle článek vidělo alespoň z rychlíku
precteni - počet uživatelů kteří na stránce strávili alespoň 30(třeba, prostě tolik kolik je potřeba k přečtení článku) vteřin.
Možná by to šlo i líp - to záleží co všechno bys tam chtěl... :-)
Yo'Sarin
mirio
Profil
YoSarin: Líp? To je přesně důvod, proč jsem založil tento thread. :-)

Poradíš mi, jak na to jít "líp"? Třeba nějaký šikovný článek nebo osobní zkušenosti...

Pomůže mi vlastně cokoli, moc děkuju za Tvůj čas.
YoSarin
Profil
mirio
no, žádnou statistiku jsem ještě nedělal... :-) To fakt záleží hlavně na tom, co všechno chceš sledovat... a není zas až takový problém rozšiřovat to za chodu... :-)
mirio
Profil
Statistiku bych chtěl docela podrobnou (teda v rámci mých možností :-) ) ale tak nějak nevím, kde začít, čeho se chytnout, potřebuju postrčit nějakým směrem a ať googluju jak googluju, moc se nedovídám...

OFFTOPIC - Jeden PHP dotaz, ať nezakládám zbytečně nový thread. Fce "simplexml_load_file" se objevuje až v PHP5, že?
nightfish
Profil
mirio
slušně!
jinak stačí se podívat do manuálu, tam uvidíš (PHP 5), což znamená přesně to, co jsi napsal...
nightfish
Profil
Statistiku bych chtěl docela podrobnou (teda v rámci mých možností :-) )
to je jak přijet na benzínku a říct: Natankujte mi tam asi tak přiměřeně (teda v rámci mých finančních možností)...
takže se zkus zamyslet, čeho všeho bys mohl chtít statistiky a pak se zeptej konkrétněji
mirio
Profil
slušně!
Omlouvám se, já už si to našel a v tom návalu emocí jsem to zapoměl editovat. Já si totiž mezitím píšu i xml parser a zjistil jsem, že bez PHP5 to nebude tak jednoduché.

Mno, mezitím jsem nelenil a přešel jak na MySQL5 tak PHP5, takže parser už jede...

Statistiku bych chtěl docela podrobnou (teda v rámci mých možností :-) )
to je jak přijet na benzínku a říct: Natankujte mi tam asi tak přiměřeně (teda v rámci mých finančních možností)...
takže se zkus zamyslet, čeho všeho bys mohl chtít statistiky a pak se zeptej konkrétněji

Já vím, je to moc obecné, tak jinak:
1) Statistika počtu přečtení článku
2) Statistika počtu článků
3) Statistika počtu komentářů (celkem)
4) Výpis nejčtenějších článků
5) Napadá Vás ještě něco???

Taky bych chtěl udělat navigaci, asi podle rubrik.

P.S. Ještě jednou se omlouvám za vulgarismy, ujelo mi to...
mirio
Profil
Mno, tak jsem se docela přecenil (zase). Nevím totiž, jak na statistiku přečtení článku. Chtěl jsem na to jít od lesa - tzn. že si vytvořím speciální tabulku, kde budou tyto sloupce:
idclanku - idclanku
ip - ip adresa, která si článek čte
no a teď už nevím jak dál...

Chtěl bych nevíc ještě rozlišovat, jak dlouho se tam čtenář zdržel (jak mi radil YoSarin) a s tímhle jsem nehnul vůbec.

Díky za rady.
Kajman_
Profil *
Pro jednoduchost bych dal dva sloupečky do tabulky s clanky

last_ip varchar
precteno int

a pak při zobrazení článku
update clanky set precteno=precteno+1 where id_clanku='$clanek' and last_ip<>'$aktualni_ip'

Délku čtení článku nezjistíte... už kvůli tabům. Můžete na odhad pak spustit google analytics a koukat se na statistiky tam.
mirio
Profil
Aha, takže do své tabulky na články:

CREATE TABLE clanky(
idclanku int NOT NULL AUTO_INCREMENT ,
titulek varchar( 200 ) ,
uvod varchar( 200 ) ,
clanek text,
rubrika varchar( 200 ) ,
autor varchar( 200 ) ,
datum bigint,
PRIMARY KEY ( idclanku )
);

přidám:

last_ip varchar
precteno int

a vznikne mi:


CREATE TABLE clanky(
idclanku int NOT NULL AUTO_INCREMENT ,
titulek varchar( 200 ) ,
uvod varchar( 200 ) ,
clanek text,
rubrika varchar( 200 ) ,
autor varchar( 200 ) ,
datum bigint,
last_ip varchar,
precteno int ,
PRIMARY KEY ( idclanku )
);

Správně?
mirio
Profil
Nechci zakládat nový topic, tak pokračuju zde.

Mám tento problém:

Chci aby se mi při každém načtení článku přičetla v sloupci "precteno" jednička, pokud se last_ip a aktualni_ip od sebe liší, ale nějak mi to nefunguje (výsledek se vypíše, ale neupdatuje se, zůstává stejný)...

Co je špatně? Díky za rady (id je integer a aktualni_IP a last_IP jsou varchar):

//zjistím aktuální IP a převedu na decimal
$aktualni_ip = 0;
foreach (explode(".", $_SERVER["REMOTE_ADDR"]) as $val) {
$ip = 256*$ip + $val;
}

//porovnám IP adresy a pokud se liší, přičtu jedničku
mysql_db_query("...", "UPDATE clanky SET precteno = precteno+1 WHERE id_clanku = $id and last_ip<>'$aktualni_ip' ");

//přepíšu IP adresu na aktuální
mysql_db_query("...", "UPDATE clanky SET last_ip='$aktualni_ip' WHERE id_clanku = $id ");


//vypíšu výsledek
$s = mysql_query("Select * from clanky where idclanku = $id ");

if(mysql_num_rows($s)!=0):
while($e = mysql_fetch_array($s)):

echo "Přečteno: ";
echo $e["precteno"];
echo "x";

endwhile;
endif;
Kajman_
Profil *
$aktualni_ip je stále 0 bez ohledu na ip
mirio
Profil
Jasně, dal jsem tu špatný kód, ta část je samozřejmě takto, ale stejně to nefunguje...

//zjistím aktuální IP a převedu na decimal
$aktualni_ip = 0;
foreach (explode(".", $_SERVER["REMOTE_ADDR"]) as $val) {
$aktualni_ip = 256*$aktualni_ip + $val;
}
Toto téma je uzamčeno. Odpověď nelze zaslat.