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 > ผิดตรงไหน รบกวนบอกทีครับ หัดเขียน PHP จะทำ Counter Online ไว้ใช้ครับ ใช้ Session แต่กด Refresh ในหน้าเวบเดียวกัน



 

ผิดตรงไหน รบกวนบอกทีครับ หัดเขียน PHP จะทำ Counter Online ไว้ใช้ครับ ใช้ Session แต่กด Refresh ในหน้าเวบเดียวกัน

 



Topic : 007171

Guest




หัดเขียน PHP จะทำ Counter Online ไว้ใช้ครับ ใช้ Session แต่กด Refresh ในหน้าเวบเดียวกัน ตัวเลขกลับเปลี่ยน Code ดังนี้ครับ
<?
session_start();
$sid = session_id();
include "conf.in.php";
$link = mysql_connect($host,$user,$pass)or die("Can not Connect to MySql :".mysql_error());

mysql_query("use $db;");

$sql = "DELETE FROM $tb_online WHERE expire_time <". time() . ";";
$result = mysql_query($sql);

$ex_time = time() + 180;

$sql = "SELECT expire_time FROM $tb_online WHERE sid LIKE ' ".$sid. " ' ";
$result = mysql_query($sql);

if (mysql_num_rows($result) == 0)
{
$sql = "INSERT INTO $tb_online(sid,expire_time)VALUES('$sid','$ex_time')";
}
else
{
$sql = "UPDATE $tb_online SET expire_time = " .$ex_time. " WHERE sid LIKE ' " .$sid." ' ";
}
$result = mysql_query($sql);

$sql = "SELECT COUNT(*) FROM $tb_online";
$result = mysql_query($sql);

$user_online = mysql_result($result,0);
mysql_close($link);
?>




Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 7 ก.พ. 2549 10:03:16 By : shenegi View : 2467 Reply : 7
 

 

No. 1

Guest


mysql_query("use $db;");

ผิดตรงนี้ป่าว อะ






Date : 7 ก.พ. 2549 11:48:04 By : นายต้นกล้วย
 


 

No. 2

Guest


ขอบคูณครับที่ตอบมา
ผมว่าไม่น่าจะเกี่ยวน่ะครับ เพราะเป็นการเรียกใช้งาน Database เท่านั้น และ Database ยังใช้งานได้อยู่ครับ

$sql = "SELECT expire_time FROM $tb_online WHERE sid LIKE ' ".$sid. " ' ";
$result = mysql_query($sql);

if (mysql_num_rows($result) == 0)
{
$sql = "INSERT INTO $tb_online(sid,expire_time)VALUES('$sid','$ex_time')";
}
else
{
$sql = "UPDATE $tb_online SET expire_time = " .$ex_time. " WHERE sid LIKE ' " .$sid." ' ";
}
$result = mysql_query($sql);

ผมสงสัยชุดนี้มากกว่าครับ

Date : 8 ก.พ. 2549 09:04:26 By : shenegi
 

 

No. 3

Guest


เหมือนกับว่า ผลที่ได้จะเป็นจริงตลอด มันก็เลยบรรทึก session ไว้ทุกครั้ง


Date : 8 ก.พ. 2549 16:37:13 By : shenegi
 


 

No. 4



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

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

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


อยากให้ลองดู 2 อย่างนะคับ ระหว่าง
1. เปลี่ยน sql เป็น SELECT expire_time FROM $tb_online WHERE sid = '".$sid."' หรือ
2. เปลี่ยน sql เป็น SELECT expire_time FROM $tb_online WHERE sid LIKE '".$sid. "'

ลองดูนะคับ ถ้าวิธีที่ 2 ใช้ได้ แสดงว่า single quote ต้องติดกับ double quote นะคับ
ลองดูนาคับ
Date : 10 ก.พ. 2549 12:38:33 By : nut_t02
 


 

No. 5

Guest


ขอบคุณครับ สำรับคำตอบ
แต่ทั้ง 2 กรณี ก็ตัวเลขยังเปลี่ยนอยู่ครับ

Date : 10 ก.พ. 2549 13:45:50 By : Shenegi
 


 

No. 6

Guest


เอาแบบนี้ไหมครับ ไม่เปลี่ยนชัวร์ ใช้ session เวลา จะดูข้อมูลก็ดึงเอาจาก DB นะครับ


// SQL CODE

CREATE TABLE counter (
id tinyint(2) unsigned NOT NULL auto_increment,
counter varchar(10) NOT NULL default '',
sessid varchar(50) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM;


// PHP CODE
<?
// Start Counter
$new_sid = session_id();
session_register("new_sid");

$sql_update = "SELECT * FROM counter where id=1";
$result_update = mysql_query($sql_update);
$nums_update= mysql_num_rows($result_update);

if(($nums_update == "") or ($nums_update == "0")) // Insert Counter
{
$sql_update = "INSERT INTO counter(counter,sessid) VALUES (1,'$new_sid')";
if(!$result_update = mysql_query($sql_update))
{
echo "<b><font size='1' face='MS Sans Serif' color='#ff0000' >Can not add counter</font></b><br>";
}
}
else // Update Counter
{
// While Customers data
while ($dbarr_update = mysql_fetch_array($result_update))
{
$id=$dbarr_update['id'];
$counter=$dbarr_update['counter'];
$old_sid=$dbarr_update['sessid'];
// Update Counter
if($new_sid == $old_sid){ }
else
{
$counter=$counter+1;
$sql_update2="UPDATE counter SET counter ='".$counter."', sessid ='".$new_sid."' where id=1";
if(!$result_update2= mysql_query($sql_update2))
{
echo "<br><font size='2' face='MS Sans Serif' color='#ff0000' >ไม่สามารถเพิ่มจำนวนเข้าชมได้</font><br>";
}
}
}
}
?>
Date : 13 ก.พ. 2549 02:07:58 By : advancenote
 


 

No. 7

Guest


ขอบคุณครับ ..
ขอโทษครับที่ผมไม่เข้าใจ

// Update Counter
if($new_sid == $old_sid){ ??? } <----- ในนี้ควรจะเป็นอะไร ครับ
else
{
Date : 14 ก.พ. 2549 11:14:37 By : Shenegi
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ผิดตรงไหน รบกวนบอกทีครับ หัดเขียน PHP จะทำ Counter Online ไว้ใช้ครับ ใช้ Session แต่กด Refresh ในหน้าเวบเดียวกัน
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 02
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 อัตราราคา คลิกที่นี่