Počítadlo návštevníkov (MySQL)

Programovacie jazyky, rady, poradňa...
caesar1987
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3001
Registrovaný: 02 okt 2005, 0:57
Bydlisko: Nové Zámky
Kontaktovať používateľa:

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

nie je format current timestamp nejaky takzy ze

2001-09-04 19:48:21-08

rok-mesia-den hodina:minuta:sekunda-neviem co?? bo ked som ja s nim nieco chcel, tak sa mi nieco take daval

kukni toto

http://www.hojko.com/teoria-praktikce-s ... 76323.html

ja som tam tiez porovnaval cas - je tu uplne dole...
geoge046
Star
Star
Používateľov profilový obrázok
Príspevky: 608
Registrovaný: 10 aug 2005, 14:15
Bydlisko: Prievidza
Kontaktovať používateľa:

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

no tak vyriesil som to takto

NOW()-INTERVAL 1 DAY

8)
turtlak69
Guru
Guru
Príspevky: 2896
Registrovaný: 10 máj 2007, 15:58
Bydlisko: /dev/null

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

prave som dorobil jedno pocitadlo aj ja. zbiera denne navstevy, mesacne a rocne. tiez vie zistit odkial uzivatel prisiel. zapisuje podla IP a datumu. jedna IP = 1den. includnuty setup je u mna pripojenie do DB. takze ten si upravte podla seba :) mozno su tam nejake chyby, nemal som nejako cas ho este testnut. zatial pocita dobre :)

Kód: Vybrať všetko

<?php
include ("./common/setup.php");

if (getenv('HTTP_CLIENT_IP')) {
$IP = getenv('HTTP_CLIENT_IP');
}
elseif (getenv('HTTP_X_FORWARDED_FOR')) {
$IP = getenv('HTTP_X_FORWARDED_FOR');
}
elseif (getenv('HTTP_X_FORWARDED')) {
$IP = getenv('HTTP_X_FORWARDED');
}
elseif (getenv('HTTP_FORWARDED_FOR')) {
$IP = getenv('HTTP_FORWARDED_FOR');
}
elseif (getenv('HTTP_FORWARDED')) {
$IP = getenv('HTTP_FORWARDED');
}
else {

$IP = $_SERVER['REMOTE_ADDR'];
}

$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);

$datetime = date("Y-m-d"); // 10-kovy format

$sql = mysql_query("SELECT * FROM $tab_counter WHERE domain='$hostname' AND date10='$datetime'");
$sql_ip=Mysql_num_rows($sql);
$counter = mysql_fetch_assoc($sql);
$sql_date=$counter[date10];
//echo "$sql_ip - $sql_date - $datetime";
if ($sql_ip == "0")
{
    if($_SERVER['HTTP_REFERER'] != ''){
        $URL = parse_url($_SERVER['HTTP_REFERER']);
	$from = $URL['host'];
    }

MySQL_Query ("INSERT INTO `$DB`.`$tab_counter` VALUES (
NULL , '$IP', '$hostname', '$datetime', '$from'
)");

//	day

$sql = mysql_query("SELECT * FROM $tab_visitors_day WHERE date='$datetime' ");
$visitors=@Mysql_num_rows($sql);
$x=mysql_fetch_array($sql);

$all=$x[total];
$all++;

if ($visitors > "0")
{
MySQL_Query("UPDATE $tab_visitors_day SET total='$all' WHERE date='$datetime'");
}

elseif ($visitors == "" || $visitors == "0" || $visitors == "false")
{
MySQL_Query("INSERT INTO $tab_visitors_day VALUES (NULL,'$datetime','1')");
}

//	month

$month = date("Y:m:00");

$sql = @mysql_query("SELECT * FROM $tab_visitors_month WHERE date='$month' ");
$x=mysql_fetch_array($sql);
$all=$x[total];
$all++;
$visitors=@Mysql_num_rows($sql);

if ($visitors > "0")
{
MySQL_Query("UPDATE $tab_visitors_month SET total='$all' WHERE date='$month'");
}

else
{
MySQL_Query("INSERT INTO $tab_visitors_month VALUES (NULL,'$month','1')");
}

//	year

$year = date("Y:00:00");

$sql = @mysql_query("SELECT * FROM $tab_visitors_year WHERE date='$year' ");
$x=mysql_fetch_array($sql);
$all=$x[total];
$all++;
$visitors=@Mysql_num_rows($sql);

if ($visitors > "0")
{
MySQL_Query("UPDATE $tab_visitors_year SET total='$all' WHERE date='$year'");
}

else
{
MySQL_Query("INSERT INTO $tab_visitors_year VALUES (NULL,'$year','1')");
}
}

?> 

este pridam tabulky z DB

Kód: Vybrať všetko

-- phpMyAdmin SQL Dump
-- version 2.10.0.2
-- http://www.phpmyadmin.net
-- 
-- Hostiteľ: localhost
-- Vygenerované:: 03.Aug, 2007 - 09:28
-- Verzia serveru: 5.0.37
-- Verzia PHP: 5.2.3

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

-- 
-- Databáza: `lh1629300db`
-- 

-- --------------------------------------------------------

-- 
-- Štruktúra tabuľky pre tabuľku `namieru_counter`
-- 

CREATE TABLE `namieru_counter` (
  `id` int(11) NOT NULL auto_increment,
  `ip` varchar(15) collate cp1250_bin NOT NULL,
  `domain` varchar(100) collate cp1250_bin NOT NULL,
  `date10` date NOT NULL,
  `from` varchar(200) collate cp1250_bin NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1250 COLLATE=cp1250_bin AUTO_INCREMENT=3 ;

-- --------------------------------------------------------

-- 
-- Štruktúra tabuľky pre tabuľku `namieru_visitors_day`
-- 

CREATE TABLE `namieru_visitors_day` (
  `id` int(11) NOT NULL auto_increment,
  `date` date NOT NULL,
  `total` int(11) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1250 COLLATE=cp1250_bin AUTO_INCREMENT=2 ;

-- --------------------------------------------------------

-- 
-- Štruktúra tabuľky pre tabuľku `namieru_visitors_month`
-- 

CREATE TABLE `namieru_visitors_month` (
  `id` int(11) NOT NULL auto_increment,
  `date` date NOT NULL,
  `total` int(11) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1250 COLLATE=cp1250_bin AUTO_INCREMENT=2 ;

-- --------------------------------------------------------

-- 
-- Štruktúra tabuľky pre tabuľku `namieru_visitors_year`
-- 

CREATE TABLE `namieru_visitors_year` (
  `id` int(11) NOT NULL auto_increment,
  `date` date NOT NULL,
  `total` int(11) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1250 COLLATE=cp1250_bin AUTO_INCREMENT=2 ;
edit: bola tam chybicka. uz je to opravene
Napísať odpoveď