十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
首先,php不能直接统计在线人数,因为php只能获取用户上线的事件,没法获取用户下线的事件。
目前成都创新互联公司已为上千家的企业提供了网站建设、域名、网页空间、网站托管、服务器托管、企业网站设计、东川网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
目前最靠谱的方法是,用户上线时创建一个session数据,并把这个数据保存在数据库或某个文件里,该用户每次操作都更新一次这个数据的时间。在统计人数的时候,把最后一次更新超过某个时间(比如说10分钟)的数据删除掉,剩下有多少个数据,就有多少用户在线。
不过缺点是显而易见的,比如一个用户下线了,他可能之后最多有10分钟会被计算在在线人数里,再比如一个人看一个网页的文章看了10多分钟,他就可能被排除在在线人数之外了。
总之,只能算个大概。
php使用mysql查询数据库已经有多少条数据使用sql的count函数实现。
示例代码如下:
?php
//数据库连接
$conn=mysql_connect("localhost","root","root");
if(!$conn){
die("对不起,数据库连接失败! ").mysql_errno();
}
//选择数据库
mysql_select_db("testdb");
//sql语句
$sql="SELECT COUNT(*) AS count FROM user";
//执行sql
$query=mysql_query($sql,$conn);
//对结果进行判断
if(mysql_num_rows( $query)){
$rs=mysql_fetch_array($query);
//统计结果
$count=$rs[0];
}else{
$count=0;
}
echo $count;
?
返回的$count就是当前数据库的记录条数。
一、选择题 一次只显示一题
通常,考试题会保存在数据库里,一次只显示一题,就是每次只抽取一条记录。
二、如何点击答案后跳到下一题
页面提交之后,数据指针向下移动,抽取下一条数据记录。(如果采用 Ajax,则可以不刷新页面)
三、如何存储并计算分数
可以设置一个全局的变量,可以设置在 php 的全局数组里,每次用户提交后计算分数并更新变量的值。
更进一步的做法,可以考虑做一张试卷的表,表中单独设立一个存储用户答案的字段,当用户交卷后,再一次性计算总分。
select * from A join B on A.a_id = B.b_a_id where A.a_id = 2 这个sql是读取的
select sum(countprice) from A join B on A.a_id = B.b_a_id where A.a_id = 2 这是求总价的
countprice是总价,第一条查询的时候,可以加一个A.a_price * B.b_num as countprice这个是当作总价的