作者:子华2502924833 | 来源:互联网 | 2018-07-16 20:57
ec(2);现在我将告诉你如何看到有多少用户在浏览您的网站。有许多方法来显示它,但我试图保持它简单,干净。首先,我们必须创建两个表,您的数据库教程。CREATETABLE`uonline`( `session`varchar(100)NOTNULL, `time`int(5)NOTNULLdefault0)ENGINE
现在我将告诉你如何看到有多少用户在浏览您的网站。有许多方法来显示它,但我试图保持它简单,干净。
首先,我们必须创建两个表,您的数据库教程。
CREATE TABLE `uonline` (
`session` varchar(100) NOT NULL,
`time` int(5) NOT NULL default '0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
这将创建两个表。一个是会议和其他的是时间。他们将我们的信息存储。
现在是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("Can not connect: ".mysql_error()."");
mysql_select_db("$db_name")or die("Can not select the database: ".mysql_error()."");
$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: ".$usersonline." users online";
$usersOnline= mysql_num_rows($result3); - It will get the number of records in columns
echo "There are: ".$usersonline." 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:
session_start();
$ses = session_id();
$time = time();
$timech=$time-300;
$host = "localhost";
$username = "";
$password = "";
$dbname = "";
mysql_connect("$host", "$username", "$password")or die("Can not connect: ".mysql_error()."");
mysql_select_db("$db_name")or die("Can not select the database: ".mysql_error()."");
$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: ".$usersonline." users online";
mysql_query("DELETE FROM uonline WHERE time<$timech");
?>