現在我將告訴你如何看到有多少使用者在瀏覽您的網站。有許多方法來顯示它,但我試圖保持它簡單,乾淨。
首先,我們必須建立兩個表,您的資料庫教程。
CREATE TABLE `uonline` (
`session` varchar(100) NOT NULL,
`time` int(5) NOT NULL default '0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
這將建立兩個表。一個是會議和其他的是時間。他們將我們的資訊儲存。
現在是PHP的時間。讓我們一起創造我們的主要變數
<?php教程
session_start();
$ses = session_id();
$time = time();
$timech=$time-300;
session_start(); - This wills start a session
$ses = session_id(); - This will get our session's ID
$time = time(); - This will get the time
$timech=$time-300; - This will set our time to 5min
Now we have to connect to the database:
// Declare SQL login info
$host = "localhost";
$username = "";
$password = "";
$dbname = "";
// Now we are going to connect to our database
mysql教程_connect("$host", "$username", "$password")or die("<font style='color:red'><b>Can not connect:</b> ".mysql_error()."</font>");
mysql_select_db("$db_name")or die("<font style='color:red'><b>Can not select the database:</b> ".mysql_error()."</font>");
$host = "localhost"; - Your SQL's host name, usually it's "localhost"
$username = ""; - Your MySQL username
$password = ""; - Your MySQL password
$dbname = ""; - Your database's name
Now we have to look for existing sessions and get the number of sessions.
$result = mysql_query("SELECT * FROM uonline WHERE session='$ses'");
$num = mysql_num_rows($result);
$result = mysql_query("SELECT * FROM uonline WHERE session='$ses'"); - This will select all info from session column where it's value is "$ses"
$num = mysql_num_rows($result); - It will tell us how many active records are in session column
if($num == "0"){
$result1 = mysql_query("INSERT INTO uonline (session, time)VALUES('$ses', '$time')");
}else{
$result2 = mysql_query("UPDATE uonline SET time='$time' WHERE session = '$ses'");
}
if($num=="0"){ - If there's no records in session column then we must insert some records
$result1 = mysql_query("INSERT INTO uonline (session, time)VALUES('$ses', '$time')"); - Inserts session's ID and time to database
}else{ - But if there was more records than 0, let's update their records
$result2 = mysql_query("UPDATE uonline SET time='$time' WHERE session = '$ses'"); - Updates existing records
} - Ends If statement
Now let's find our info again from the columns:
$result3 = mysql_query("SELECT * FROM uonline");
$result3 = mysql_query("SELECT * FROM uonline"); - This will get all info from uonline table
It's time for showing how many users are looking your site:
$usersonline = mysql_num_rows($result3);
echo "There are: <b>".$usersonline."</b> users online";
$usersonline = mysql_num_rows($result3); - It will get the number of records in columns
echo "There are: <b>".$usersonline."</b> users online"; - This will show how many users are on your site
When the users have left, you must delete their records from database.
mysql_query("DELETE FROM uonline WHERE time<$timech");
?>
mysql_query("DELETE FROM uonline WHERE time<$timech"); - Deletes records from database when 5min has been thru.
And here's the full code:
<?php
session_start();
$ses = session_id();
$time = time();
$timech=$time-300;
$host = "localhost";
$username = "";
$password = "";
$dbname = "";
mysql_connect("$host", "$username", "$password")or die("<font style='color:red'><b>Can not connect:</b> ".mysql_error()."</font>");
mysql_select_db("$db_name")or die("<font style='color:red'><b>Can not select the database:</b> ".mysql_error()."</font>");
$result = mysql_query("SELECT * FROM uonline WHERE session='$ses'");
$num = mysql_num_rows($result);
if($num == "0"){
$result1 = mysql_query("INSERT INTO uonline (session, time)VALUES('$ses', '$time')");
}else{
$result2 = mysql_query("UPDATE uonline SET time='$time' WHERE session = '$ses'");
}
$result3 = mysql_query("SELECT * FROM uonline");
$usersonline = mysql_num_rows($result3);
echo "There are: <b>".$usersonline."</b> users online";
mysql_query("DELETE FROM uonline WHERE time<$timech");
?>