<?PHP
$con=mysqli_connect("localhost","root","","userinfo");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con, $query);
while($row = mysqli_fetch_array($result)) {
if ($result) {
$Chromerows = mysqli_num_rows(mysqli_query($connection,"SELECT * FROM tbl_stats WHERE Browser = 'Chrome'"));
$Firefoxrows = mysqli_num_rows(mysqli_query($connection,"SELECT * FROM tbl_stats WHERE Browser = 'Firefox'"));
echo 'Chrome' . " : " . $Chromerows . " | ". 'Firefox' . " : ". $Firefoxrows;
}
}
mysqli_close($con);
?>
所以基本上我有一个数据库存储用户从某个浏览器,操作系统及其ip查看的时间。
我需要在页面上显示一个点击计数器,显示来自该浏览器的点击量,我已经尝试按照教程查找如何执行此操作但是到目前为止失败了,我不知道如果这是关闭的话。
答案 0 :(得分:0)
要获取用户使用的浏览器,您可以使用$_SERVER['HTTP_USER_AGENT']
并存储到数据库中。 For more information
为什么在连接到数据库后执行查询:$result = mysqli_query($con, $query);
并循环while($row = mysqli_fetch_array($result)){}
删除没有必要。
您的代码包含多个错误,请添加此代码
$con=mysqli_connect("localhost","root","","userinfo");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
else
{
$Chromerows = mysqli_num_rows(mysqli_query($con,"SELECT * FROM tbl_stats WHERE Browser = 'Chrome'"));
$Firefoxrows = mysqli_num_rows(mysqli_query($con,"SELECT * FROM tbl_stats WHERE Browser = 'Firefox'"));
echo 'Chrome' . " : " . $Chromerows . " | ". 'Firefox' . " : ". $Firefoxrows;
}
答案 1 :(得分:0)
要检测某人正在使用哪个浏览器,您可以使用get_browser();
答案 2 :(得分:0)
首先:没有办法做到这一点。
解决方案1
通过保存用户代理和IP,一个解决方案与您一样。
但为什么这不能正常工作?
有动态IP地址:这些是一段时间后改变的IP。用户可以获得多个IP。
内部网络:在学校,公司......中,很多人使用相同的IP地址。如果他们使用相同的操作系统和浏览器(相信我,这发生了很多!),他们将作为相同的浏览器,而它是一个完整的其他用户。
解决方案2
另一种更好的方法是在用户第一次访问您的网站时为用户创建一个Cookie,并使用该Cookie保存信息。
您遇到的唯一问题是用户可以删除Cookie,但大多数人都不会这样做。永远。所以我认为这是最合适的解决方案。然后,您可以使用存储在该cookie中的ID来计算数据库中的项目。
仅供参考:始终使用随机字符串作为标识。用户可以更改他们的cookie,并且您不希望他们进入另一个“会话”。您可以检查它们是否是数据库中不存在的cookie,它是错误的并创建另一个。
答案 3 :(得分:0)
首先,除非您没有向我们展示完整的代码,否则这些行是不必要的:
$result = mysqli_query($con, $query);
while($row = mysqli_fetch_array($result)) {
if ($result) {
您的脚本可能如下所示(您可以使用一个查询执行此操作):
<?PHP
$con=mysqli_connect("localhost","root","","userinfo");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
} else {
$get_rows = mysqli_query($connection,"SELECT COUNT(*) as `count`, `Browser` FROM tbl_stats GROUP BY `Browser` HAVING `Browser` IN('Chrome', 'Firefox') ORDER BY `Browser` ASC");
$get_chrome = mysqli_fetch_array($get_rows);
$get_firefox = mysqli_fetch_array($get_rows);
echo 'Chrome' . " : " . $get_chrome['count'] . " | ". 'Firefox' . " : ". $get_firefox['count'];
}
mysqli_close($con);
?>
答案 4 :(得分:0)
请使用此查询来计算浏览器使用情况:
$result = mysqli_query($con, "SELECT `Browser`, COUNT(*) as `Usage` FROM `tbl_stats` GROUP BY `Browser`");
现在你可以回复这样的结果:
while($row = mysqli_fetch_array($con, $result)) {
echo "Browser: " . $row['Browser'] . " Usage: " . $row['Usage'];
}