我有个access表,要读数据库并建个二级联动菜单,父菜单用了一个while和movenext()循环读取,有一个父菜单下有子菜单项,也有while和movenext()循环读取,可以就不行了,PHP报错不能运行!代码大概如下:$sql="select * from Channel where f_id=0 order by id";
$readlist=new readAccess(); //此处用一个类实现读取Access
$readlist->db_open();
$readlist->rs_open($sql,1,1);
if(!$readlist->rs_eof()) { while (!$readlist->rs_eof()) {
if ($GLOBALS["about_id"]==strval($readlist->rs("id")))
echo " <span class='dq'>· ".$readlist->rs("title")."</a></span><div class=\"line\"></div>";
else {
echo " <a href='?pid=".$readlist->rs("id")."'>+ ".$readlist->rs("title")."</a><div class=\"line\"></div>";
}
$sql3="select * from Channel where f_id<>0 and f_id=".$readlist->rs("id")." order by id";
$readlist3=new readAccess();
$readlist3->conn_execute($sql3);
if(!$readlist->rs_eof()) {
while(!$readlist->rs_eof()) {
echo " <a href='?pid=".$readlist3->rs("id")."'>- ".$readlist3->rs("title")."</a><div class=\"line\"></div>";
$readlist3->rs_movenext();
}
}
$readlist->rs_movenext(); } }ACCESS表结构大概如下:
/***************************************/
字段名:id title f_id
第一行:1 公司概况 0
第二行:2 公司章程 0
第三行:3 公司相册 0
第四行:4 组织机构 0
第五行:5 领导关怀 3
第六行:6 业务活动 3
/***************************************/请高手赐教,本人是新手。
$readlist=new readAccess(); //此处用一个类实现读取Access
$readlist->db_open();
$readlist->rs_open($sql,1,1);
if(!$readlist->rs_eof()) { while (!$readlist->rs_eof()) {
if ($GLOBALS["about_id"]==strval($readlist->rs("id")))
echo " <span class='dq'>· ".$readlist->rs("title")."</a></span><div class=\"line\"></div>";
else {
echo " <a href='?pid=".$readlist->rs("id")."'>+ ".$readlist->rs("title")."</a><div class=\"line\"></div>";
}
$sql3="select * from Channel where f_id<>0 and f_id=".$readlist->rs("id")." order by id";
$readlist3=new readAccess();
$readlist3->conn_execute($sql3);
if(!$readlist->rs_eof()) {
while(!$readlist->rs_eof()) {
echo " <a href='?pid=".$readlist3->rs("id")."'>- ".$readlist3->rs("title")."</a><div class=\"line\"></div>";
$readlist3->rs_movenext();
}
}
$readlist->rs_movenext(); } }ACCESS表结构大概如下:
/***************************************/
字段名:id title f_id
第一行:1 公司概况 0
第二行:2 公司章程 0
第三行:3 公司相册 0
第四行:4 组织机构 0
第五行:5 领导关怀 3
第六行:6 业务活动 3
/***************************************/请高手赐教,本人是新手。
解决方案 »
- phpMyAdmin-3.4.5-all-languages怎么安装啊
- php_ini中log_errors_max_len属性的设置
- 移动mas机的开发问题
- ubuntu下安装mysql出错.
- 到底是哪儿出了问题?实在是搞不懂!!!
- 大家看下我写的计算在线时长程序有问题吗?
- php模拟搜索
- PHP出错了,新人,我想这个问题肯定很好解决.
- 如何在网页中嵌入ms-word编辑器 急、急、急、急、急、急、急……
- php怎样包含远程web服务器上的文件?
- 新手提问,请问一下这个错误是什么意思
- [100分求助]xp sp3+php5.2+mysql5.0+apache2.2+phpmyadmin3.2无法加载mysql扩展问题!
$about_id=intval($_GET["pid"]); //网址查询字符串
请大家帮帮忙,小弟我实在找不出错误在哪,
我把类代码也放上。****************************************
<?php
include_once("conn.inc.php");
class readAccess {function db_open(){
//连接数据库
$GLOBALS["conn"] = new com("ADODB.Connection");
$connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=".realpath($GLOBALS["db"]);
//$connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=".realpath($GLOBALS["db"]);
$GLOBALS["conn"]->open($connstr);
$GLOBALS["rs"] = new com("ADODB.RecordSet");
}
function db_close(){
//关闭数据库
$GLOBALS["conn"]->close();
}
function conn_execute($sql){
//执行sql
$GLOBALS["conn"]->Execute(iconv("gb2312","UTF-8",$sql));
}
function rs_open($sql,$cursorType,$lockType){
//RecordSet的open方法
$GLOBALS["rs"]->Open($sql,$GLOBALS["conn"],$cursorType,$lockType);
}
function rs_close(){
//关闭RecordSet
$GLOBALS["rs"]->close();
}
function rs_recordcount() {
//RecordSet的recordcount方法
return $GLOBALS["rs"] -> recordcount();
}
function rs_eof(){
//RecordSet eof或bof
return $GLOBALS["rs"] -> eof||$GLOBALS["rs"] -> bof?true:false;
}
function rs_move($n){
//移动指针
$GLOBALS["rs"]->Move($n);
}
function rs_movenext(){
//移动指针+1
$GLOBALS["rs"]->MoveNext();
}
function rs($fieldName){
//移动指获取指定字段值
return iconv("gb2312","UTF-8",$GLOBALS["rs"]->Fields[$fieldName]->Value);
}
}
?>**********************************不懂怎么就是不能用两个movenext.