Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > ช่วยแนะนำหน่อยครับเกี่ยวกับการทำ counter php แบบว่าต้องการให้มันสรุปยอด แบบแยกเป็นวัน สัปดาห์ เดือน ปี และรวมทั้งหมด



 

ช่วยแนะนำหน่อยครับเกี่ยวกับการทำ counter php แบบว่าต้องการให้มันสรุปยอด แบบแยกเป็นวัน สัปดาห์ เดือน ปี และรวมทั้งหมด

 



Topic : 055921



โพสกระทู้ ( 17 )
บทความ ( 0 )



สถานะออฟไลน์




คือผมต้องการทำจะทำ counter ให้สามารถสรุปยอดผู้ชมโดยที่ จะสรุปยอด เป็นวัน เป็นสัปดาห์ เป็นเดือน เป็นปี และยอดรวมทั้งหมด
ประมาณนี้อะครับ
ผู้เข้าชมวันนี้ : xxxxx คน
ผู้เข้าชมในสัปดาห์นี้ : xxxxx คน
ผู้เช้าชมในเดือนนี้ : xxxxx คน
ผู้เข้าชมในปีนี้ : xxxxx คน
ผู้เช้าคนทั้งหมด : xxxxx คน

ปล.เก็บในฐานข้อมูล MySql

ที่ผมอยากรู้คือ จะออกแบบฐานข้อมูลแบบไหนดี แล้วจะนำมาคำนวณยังไง

ช่วยน่ะนำหน่อยครับ

ขอบคุณล่วงหน้า



Tag : PHP, Ms Access, MySQL, HTML/CSS, JavaScript, CakePHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-02-11 23:46:48 By : supun View : 1371 Reply : 6
 

 

No. 1



โพสกระทู้ ( 599 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook

ก็เก็บแบบง่ายๆคือ ทุกครั้งที่มีการเข้าถึงหน้านั้น

insert => DB เอาค่าวันเวลาเก็บไว้

เวลา select ใช้พวก function MONTH , YEAR






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-12 01:13:20 By : oxygenyoyo
 


 

No. 2



โพสกระทู้ ( 17 )
บทความ ( 0 )



สถานะออฟไลน์


มีปัญหาอีกนิดนุงครับ คือ
เวลาเก็บวันที่ลงฐานข้อมูล ผมต้่องการเก็บ แค่ เดือนกับปี และก็ เก็บแค่ปีอย่างเดียว จะเก็บยังไงเหรอครับ เพราะถ้าใช้รูปแบบมาตรฐานของ phpMyAdmin มันจะเก็บให้เป็น Y-m-d
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-12 22:11:26 By : supun
 

 

No. 3



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


เก็บเป็น datetime หรือ timestamp เลย
เวลา select ค่อยละบุเอาว่า เดือนไหน ปีไหน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-13 01:56:07 By : PlaKriM
 


 

No. 4



โพสกระทู้ ( 17 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณทุกๆคำตอบครับ

ตัดปัญหาผมเก็บมันเป็น Varchar เลยแล้วกัน อิอิ ง่ายดี


ขอบคุณทั้ง คุณพี่ PlaKriM และคุณพี่ OxyGenyoyo มากมายครับ...
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-13 05:00:33 By : supun
 


 

No. 5



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


เก็บเป็น varchar ต้องมาเขียนดักใน php หรือถ้าอยากเขียนให้ได้ตอนคิวรี่เลยก็ต้อง convert type ก่อน ลำบากนะ


ตัวอย่างการสร้าง PHP + Counter แบบละเอียดด้วย PHP กับ MySQL ครับ

CREATE TABLE `counter` (
`DATE` date NOT NULL,
`IP` varchar(30) NOT NULL,
PRIMARY KEY (`DATE`,`IP`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


CREATE TABLE `daily` (
`DATE` date NOT NULL,
`NUM` varchar(3) NOT NULL,
PRIMARY KEY (`DATE`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;



Go to : PHP สร้าง Counter แบบล่ะเอียด Today, Yesterday,This Month, Last Month, This Year, Last Year
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-13 12:12:16 By : PlaKriM
 


 

No. 6



โพสกระทู้ ( 17 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 3 เขียนโดย : PlaKriM เมื่อวันที่ 2011-02-13 01:56:07
รายละเอียดของการตอบ ::
เก็บเป็น varchar ต้องมาเขียนดักใน php หรือถ้าอยากเขียนให้ได้ตอนคิวรี่เลยก็ต้อง convert type ก่อน ลำบากนะ


ผมเขียนไว้แบบนี้อะครับ ไม่รู้จะกินหน่วยความจำมากไปเปล่า ยังไงพี่ก็แนะนำผมหน่อยแระกันครับ

Code
<?php
session_start();
//require_once("../config/config.inc.php");
// Variant d-m-Y, m-Y, Y
$cudate = date("d-m-Y");
$cumonth = date("m-Y");
$cuyear = date ("Y");
/// Counter To day
$sql ="select * from $tb_counter where counterDate='$cudate'";
$sqlquery = mysql_query($sql,$sqlcon);
$sqlfetch = mysql_fetch_array($sqlquery);

if ($sqlfetch[2] !== $cudate){
$sql = "select * from $tb_counter";
$sqlquery = mysql_query($sql,$sqlcon);
$numrows = mysql_num_rows($sqlquery);
$addCol = $numrows +1;
mysql_query("insert into $tb_counter values ('$addCol','1','$cudate','$cumonth','$cuyear')",$sqlcon);

}else{
if (!session_is_registered("ss_counterID")){
session_is_registered("ss_counterID");
}
if ($_SESSION["ss_counterID"] == ""){
$_SESSION["ss_counterID"] = session_id();
$result = $sqlfetch[1];
$newscore = $result +1;
mysql_query("update $tb_counter set counter = '$newscore' where counterDate = '$cudate'",$sqlcon);
echo "|<font color='#0000CC'>&nbsp;&nbsp;ผู้ชมทั้งหมดในวันนี้ : " . $newscore ."&nbsp;&nbsp;</font> |&nbsp;&nbsp;";
}else{
$_SESSION["ss_counterID"] = session_id();
$result = $sqlfetch[1];
$newscore = $result +1;
echo "|<font color='#0000CC'>&nbsp;&nbsp;ผู้ชมทั้งหมดในวันนี้ : " . $newscore ."&nbsp;&nbsp;</font> |&nbsp;&nbsp;";
} // check ss_counter
}// check match data

/// Counter Month
$sql = "select sum(counter) from $tb_counter where counterMonth ='$cumonth'";
$sqlquery = mysql_query($sql,$sqlcon) or die (mysql_error());
while($result = mysql_fetch_array($sqlquery)){
echo "<font color='#0000CC'> ผู้ชมในเดือนนี้ : " . $result['sum(counter)'] ."&nbsp;&nbsp;</font> |&nbsp;&nbsp;";
}

/// counter Year
$sql = "select sum(counter) from $tb_counter where counterYear ='$cuyear'";
$sqlquery = mysql_query($sql,$sqlcon) or die (mysql_error());
while($result = mysql_fetch_array($sqlquery)){
echo "<font color='#0000CC'>ผู้เข้าชมในปีนี้ : " . $result['sum(counter)'] ."&nbsp;&nbsp; </font>|&nbsp;&nbsp;";
}
/// total counter
$sql = "select sum(counter) from $tb_counter";
$sqlquery = mysql_query($sql,$sqlcon) or die (mysql_error());
while($result = mysql_fetch_array($sqlquery)){
echo"<font color='#0000CC'>สถิติการเข้าชมทั้งหมด : " . $result['sum(counter)'] ."&nbsp;&nbsp;</font>|&nbsp;&nbsp;";
}
//Close connect tion

mysql_close($sqlcon);
?>



ประวัติการแก้ไข
2011-02-14 04:40:39
2011-02-14 04:41:25
2011-02-14 04:57:53
2011-02-14 04:58:25
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-14 00:50:04 By : supun
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ช่วยแนะนำหน่อยครับเกี่ยวกับการทำ counter php แบบว่าต้องการให้มันสรุปยอด แบบแยกเป็นวัน สัปดาห์ เดือน ปี และรวมทั้งหมด
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่