|
|
|
ผิดตรงไหน รบกวนบอกทีครับ หัดเขียน PHP จะทำ Counter Online ไว้ใช้ครับ ใช้ Session แต่กด Refresh ในหน้าเวบเดียวกัน |
|
|
|
|
|
|
|
mysql_query("use $db;");
ผิดตรงนี้ป่าว อะ
|
|
|
|
|
Date :
7 ก.พ. 2549 11:48:04 |
By :
นายต้นกล้วย |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคูณครับที่ตอบมา
ผมว่าไม่น่าจะเกี่ยวน่ะครับ เพราะเป็นการเรียกใช้งาน 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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เหมือนกับว่า ผลที่ได้จะเป็นจริงตลอด มันก็เลยบรรทึก session ไว้ทุกครั้ง
|
|
|
|
|
Date :
8 ก.พ. 2549 16:37:13 |
By :
shenegi |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อยากให้ลองดู 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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณครับ สำรับคำตอบ
แต่ทั้ง 2 กรณี ก็ตัวเลขยังเปลี่ยนอยู่ครับ
|
|
|
|
|
Date :
10 ก.พ. 2549 13:45:50 |
By :
Shenegi |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอาแบบนี้ไหมครับ ไม่เปลี่ยนชัวร์ ใช้ 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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณครับ ..
ขอโทษครับที่ผมไม่เข้าใจ
// Update Counter
if($new_sid == $old_sid){ ??? } <----- ในนี้ควรจะเป็นอะไร ครับ
else
{
|
|
|
|
|
Date :
14 ก.พ. 2549 11:14:37 |
By :
Shenegi |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|