①.、PHP获取显示数据库数据函数之 mysql_result()
mixed mysql_result(resource result_set, int row [,mixed field])
从result_set 的指定row 中获取一个field 的数据. 简单但是效率低.
举例:
"webuser",?"password")?
or?die("Could?not?connect?
to?mysql?server!");
@mysql_select_db("company")?
or?die("Could?not?select?database!");
$query?=?"select?id,?name?
from?product?order?by?name";?
$result?=?mysql_query($query);
$id?=?mysql_result($result,?0,?"id");
$name?=?mysql_result($result,?0,?"name");
mysql_close();
注意,上述代码只是输出结果集中的第一条数据的字段值,如果要输出所有记录,需要循环处理.
for?($i?=?0;?$i?=?mysql_num_rows($result);?$i◆◆)
{
echo?"Product:?$name?($id)";
}
注意,如果查询字段名是别名,则mysql_result中就使用别名.
array mysql_fetch_row(resource result_set)
从result_set中获取整行,把数据放入数组中.
举例(注意和list 的巧妙配合):
$query?=?"select?id,?
name?from?product?order?by?name";?
while(list($id,?$name)?
=?mysql_fetch_row($result))?{
array mysql_fetch_array(resource result_set [,int result_type])
mysql_fetch_row()的增强版.
将result_set的每一行获取为一个关联数组或/和数值索引数组.
默认获取两种数组,result_type可以设置:
MYSQL_ASSOC:返回关联数组,字段名=字段值?
MYSQL_NUM:返回数值索引数组.
MYSQL_BOTH:获取两种数组.所以呢每个字段可以按索引偏移引用,也可以按字段名引用.
$query?=?"select?id,
name?from?product?order?by?name";
while($row?=?mysql_fetch_array
($result,?MYSQL_BOTH))?{?
$name?=?$row['name'];
//或者?$name?=?$row[1];
$name?=?$row['id'];
//或者?$name?=?$row[0];
array mysql_fetch_assoc(resource result_set)
相当于 mysql_fetch_array($result, MYSQL_ASSOC)
object mysql_fetch_object(resource result_set)?
和mysql_fetch_array()功能一样,不过返回的不是数组,而是一个对象.
from?product?order?by?name";
$result?=?mysql_query($query);?
while($row?=?mysql_fetch_object
($result))?{
$name?=?$row-name;
$name?=?$row-id;
以上这些函数就是PHP获取显示数据库数据函数的全部总结.
头部加上超时控制,但对于很多服务器无效,因为服务器输出超时很多在服务器控制,所以建议用cmd脚本方式运行此程序:
php
set_time_limit(0);//禁用脚本超时
//?Create?the?socket?and?connect
$socket?=?socket_create(AF_INET,?SOCK_STREAM,?SOL_TCP);
//?Write?some?test?data?to?our?socket
if(!socket_write($socket,?"user?NoCall?pass?-1?vers?test?1.0?filter?b/B*?\r\n"))
echo("pWrite?failed/p");
if(!file_exists('socket_log.html')){
file_put_contents('socket_log.html',?'script
window.location.reload();
/script');
//?Read?any?response?from?the?socket
echo?json_encode($buffer);?//转换为json数据输出
//记入文件
file_put_contents('socket_log.html',?json_encode($buffer),?FILE_APPEND);
echo("pDone?Reading?from?Socket/p");
使用方法:用命令行方式运行此脚本
php?script.php
脚本会一直运行到接收数据结束,并持续将收到的数据写入socket_log.html文件.
确保程序有权限创建及写入socket_log.html文件
我的思路是:
数据库中新建一个表
is_showUpdate
字段:id、is_update
记录 :id=1;is_update = false;
当你的程序要修改显示信息的时候(也就是展示数据),信息修改完毕将is_showUpdate表的记录标记为true
update is_showUpdate set is_update ='true' where id = 1;
展示页面通过js定时器通过ajax每五秒调取下你的接口,接口只是查询is_showUpdate 表的id为1的记录 is_update 是否为true;如果该字段为true,则此接口将id=1的记录的is_update修改为false,然后给前台页面反水数据,刷新页面;
你所涉及的问题有两方面.
因为列表程序可以说是项目中比较重要的程序,就像电脑主板一样,上面承载有很多的链接,相对有点复杂.简单一点跟你说,又怕你弄不清楚,说详细一点,你可能又更糊涂了.下面把思路跟你说一下吧:
(1)从数据库中循环读出符合要求的记录,不断赋值给数组,如$title[$i];
在这期间,要获取记录总数、总页数、当前页数等内容;
程序并不是很难,只是比较繁琐.如果你急需现成的,就把数据库相关信息发到我邮箱,帮你定制一个,你自己再改.
JavaScript code?