|
|
|
อยากได้โค้ด counter แบบเก็บค่าเป็นวัน สัปดาห์ และเดือนค่ะ ช่วยหน่อยน่ะคร้า อิอิ |
|
|
|
|
|
|
|
ลองดูนะเขียนให้ใหม่ไม่ได้ลอง เพราะของเดิมใช้เป็นฟังก์ชัน
// สร้าง ตาราง
CREATE TABLE `counter_user` (
`count_num` int(11) default NULL,
`count_date` char(10) default NULL,
`count_time` time default NULL,
`count_ip` varchar(20) default NULL,
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
<?
if(!session_is_registered("sess_id")){
$_SESSION[ 'sess_id'] = session
}
$TimeRunDate = mktime(0,0,0,date("m"),date("d"),date("Y"));
$table = "counter_user";
// sql ตรวจสอบวันปัจจุบันได้มีการบันทึกแล้วหรือยัง
$sql_check_time ="select * from $table where count_date='".$TimeRunDate."'";
$query_check_time = mysql_query($sql_check_time);
$num_check_time mysql_num_rows($query_check_time);
// ถ้า $num_check_time = 0 คือ วันปัจจุบันยังไม่มีการบันทึกให้ insert ใหม่ , $num_check_time >0 คือ วันปัจจุบันได้การบันทึกแล้วให้ update
if($num_check_time<=0) {
$data = "'1','".$TimeRunDate."','".date("H:i:s")."','".$ip."'";
$sql_counter= "insert into $table values($data)";
}else{
$sql_counter = "update $table Set count_num=(count_num+1) ,count_time='".date("H:i:s")."' , count_ip='".$ip."' Where count_date='".$TimeRunDate."'";
}
if($sql_counter){
//sql ตรวจสอบ ip ผู้เข้าชม และ วัน ล่าสุด ซ้ำหรือไม่ ถ้าไม่ซ้ำให้ไป query($sql_counter)
$sql_check_ip ="select * from $table where count_ip='".$ip."' and count_date='".$TimeRunDate."'";
$query_check_ip = mysql_query($sql_check_ip);
$num_check_ip = mysql_num_rows($query_check_ip);
if(!session_is_registered("sess_id") && $num_check_ip<=0){
mysql_query($sql_counter);
$_SESSION[ 'sess_id'] = session_id();
}
}
// เวลาแสดงผลหน้าเว็บ select sum(count_num) from counter_user
// เวลาแสดงผล backoffice ให้แปลงฟิวด์ count_date เป็นวันที่ ใช้คำสั่ง strftime('%d/%m/%Y',count_date);
?>
|
|
|
|
|
Date :
2010-08-19 14:27:05 |
By :
heng |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลืมใส่ $ip = $_SERVER['REMOTE_ADDR'];
|
|
|
|
|
Date :
2010-08-19 14:29:03 |
By :
heng |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณคร้า
|
|
|
|
|
Date :
2010-08-19 14:58:17 |
By :
นู๋อ้อย |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วเอาใส่ตรงไหนอ่ะค่ะ 555
|
|
|
|
|
Date :
2010-08-19 14:59:50 |
By :
นู๋อ้อย |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<?
if(!isset($_COOKIE['rem']) or ($_COOKIE['rem']<>$_SERVER['REMOTE_ADDR'])){
$rem=$_SERVER['REMOTE_ADDR'];
setcookie('rem',$rem,(time()+86400));//จำกัดไอพีนี้เข้าได้จำนวน 1 วัน
$f=fopen("counter.txt","r"); $fr=fread($f,782);
fclose($f);
$nextnum=$fr+1;
$f=fopen("counter.txt","w");
fwrite($f,$nextnum);
fclose($f);
}else{
$f=fopen("counter.txt","r");
$fr=fread($f,782);
fclose($f);
$nextnum=$fr;
}
?>
ถ้าเราจะใช้คุกกี้ได้ป่ะค่ะ แล้วเราควรเอาโค้ดนับจำนวนแต่ละวัน แต่ละสัปดาห์วางไว้ตรงไหนอ่ะค่ะ ฮ่าๆ มือใหม่อ่ะค่ะ
|
|
|
|
|
Date :
2010-08-19 15:03:00 |
By :
นู๋อ้อย |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไฟล์ index ก็ได้
|
|
|
|
|
Date :
2010-08-19 15:10:04 |
By :
heng |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|