Autor Zpráva
gradAS
Profil *
Spravil som pocitanie zobrazenych clankov, ukazem script

$videnia = $conn -> query("SELECT
id
FROM
zobrazenia
WHERE
idclanok = ".$id." and ip = '".$_SERVER['REMOTE_ADDR']."' and (UNIX_TIMESTAMP()-UNIX_TIMESTAMP(datum)) < 600");
$vid = $videnia -> num_rows;

if ($vid == 0)
{
$conn -> query("UPDATE clanky SET videnia = videnia + 1 WHERE id = ".$id."");
$conn -> query("INSERT into zobrazenia (idclanok, datum, ip, hosting) VALUES (".$id.", NOW(), '".$_SERVER['REMOTE_ADDR']."', '".gethostbyaddr($_SERVER['REMOTE_ADDR'])."') ");
}

Su:

clanky(id, nadpis, text, videnia)
zobrazenia(id,datup,ip,hosting)

A ono ja najskor selectem ci extije za poslednych 600s takyto uzivatelov, ak nie zvysi sa sa pocet.
Ale urcite sa to da jednym selectom, ato by som tak chcel, nepomozete?


Dakujem
Kajman_
Profil *
Klidně bych nechal tři dotazy. Jen ten první by bylo lepší optimalizovat, aby se mohl využít index na datum, pokud ho tam máte... tzn. datum neprohánět funkcemi, jen odečíst o aktuálního 10 minut a pak porovnat ho beze změny.
gradAS
Profil *
Aky index?

Wowo, toto ma zaujima lebo uz som o tom vela pocul ako ho vytvorim?
Kajman_
Profil *
http://www.linuxsoft.cz/article.php?id_article=912
gradAS
Profil *
Ja hentomu nechapem, nepovedal by si mi to na tomto konkretne priklade?
Prosim :))


diky
Kajman_
Profil *
Kokrétní příklad je v tom seriálu hned v následujícím článku. Ale pokud nechápete ten článek, tak bych spíš doporučil ho přečíst vícekrát a pak jít teprve na další díl seriálu.

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:

0