请教高手PHP中关于记录集的问题
我在PHP中做了一个SQLServer数据库的分页程序(数据表有1800多条记录,每页20条,分了90多页),现在能够分页,页数、每页记录数、总记录数、翻页等等都非常正常...
我在PHP中做了一个SQL Server 数据库的分页程序(数据表有1800多条记录,每页20条,分了90多页),现在能够分页,页数、每页记录数、总记录数、翻页等等都非常正常,但现在的问题是显示的记录都是数据库的第一条记录,不能移动记录集指针,我是使用for实现分页的:
第一种方法是移动记录集指针,代码:$rs->MoveNext(); 或 $rs->movenext;都有问题,提示错误:Fatal error: Call to a member function MoveNext() on a non-object in
第二种方法是创建数组,代码:$BT($p)=$rs['字段名']; $BT是数组,$p是for循环中的循环变量,但是提示错误:Fatal error: Can't use function return value in write context in
如果使用 while 就会显示全部记录。
请高手回答:不论使用那种方法,只要能够正常显示数据就可以。本人刚刚接触php,不太了解,有求大侠了。如果解决送100分。
如果不能移动指针,用数组实现是最理想的了。在php中创建动态数组,怎么创建?怎么赋值?
请指教!在线等你的回答!谢谢! 展开
第一种方法是移动记录集指针,代码:$rs->MoveNext(); 或 $rs->movenext;都有问题,提示错误:Fatal error: Call to a member function MoveNext() on a non-object in
第二种方法是创建数组,代码:$BT($p)=$rs['字段名']; $BT是数组,$p是for循环中的循环变量,但是提示错误:Fatal error: Can't use function return value in write context in
如果使用 while 就会显示全部记录。
请高手回答:不论使用那种方法,只要能够正常显示数据就可以。本人刚刚接触php,不太了解,有求大侠了。如果解决送100分。
如果不能移动指针,用数组实现是最理想的了。在php中创建动态数组,怎么创建?怎么赋值?
请指教!在线等你的回答!谢谢! 展开
2个回答
展开全部
$pageSize=20;//设置每页显示条数
$rs=mysql_query("select count(*) from msgbo");//取得记录总数,计算总页数用$myrow=mysql_fetch_array($rs);
$numrows=$myrow[0];//计算总记录
$pages=intval($numrows/$pageSize);
if ($numrows%$pageSize)$pages++;//设置页数
if (isset($_GET['page'])) {
$page=intval($_GET['page']);
}
else {
$page=1;
}
$offset=$pageSize*($page-1);
$sql="select id,username,ip,url,msg from msgbo order by timee desc limit $offset,$pageSize ";
//这句查询 限制查询条数和指针移动。
//$sql="select * from msgbo limit $offset,$pageSize";
$result=mysql_query($sql);
$num=mysql_num_rows($result);//行数
if($num>0){
while($row = mysql_fetch_array($result))//数组
{
echo $row[0];
//继续输出
}
$rs=mysql_query("select count(*) from msgbo");//取得记录总数,计算总页数用$myrow=mysql_fetch_array($rs);
$numrows=$myrow[0];//计算总记录
$pages=intval($numrows/$pageSize);
if ($numrows%$pageSize)$pages++;//设置页数
if (isset($_GET['page'])) {
$page=intval($_GET['page']);
}
else {
$page=1;
}
$offset=$pageSize*($page-1);
$sql="select id,username,ip,url,msg from msgbo order by timee desc limit $offset,$pageSize ";
//这句查询 限制查询条数和指针移动。
//$sql="select * from msgbo limit $offset,$pageSize";
$result=mysql_query($sql);
$num=mysql_num_rows($result);//行数
if($num>0){
while($row = mysql_fetch_array($result))//数组
{
echo $row[0];
//继续输出
}
追问
谢谢你!但是我希望的不是重新做分页,而是在循环中创建动态数组,并给他赋值。
分页功能已经实现了,请能够回答我需要的问题,可能一二句就能解决问题。
这是我的代码:
while( $rs = mssql_fetch_array( $strSQL)){
$BT($k)=$rs['字段名'];
$k+=1;
}
问题自己解决了,非常简单。丢失了一句。
ZESTRON
2024-09-04 广告
2024-09-04 广告
在Dr. O.K. Wack Chemie GmbH,我们高度重视ZESTRON的表界面分析技术。该技术通过深入研究材料表面与界面的性质,为提升产品质量与可靠性提供了有力支持。ZESTRON的表界面分析不仅涵盖了相变化、化学反应、吸附与解吸...
点击进入详情页
本回答由ZESTRON提供
2013-08-13
展开全部
建议用adodb,一个开源的php类库,可以用来访问目前几乎所有的数据库
而且写法不会因为数据库不同而改变,都一样的,
http://phplens.com/adodb/
这个是mssql的链接例子
http://phplens.com/adodb/code.initialization.html#connect_ex
而且写法不会因为数据库不同而改变,都一样的,
http://phplens.com/adodb/
这个是mssql的链接例子
http://phplens.com/adodb/code.initialization.html#connect_ex
追问
对不起!我现在只想使用我的方法,对php的类库,不了解,而且我是一个英语文盲。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询