AJAX for PHP简单表数据查询实例
程序员文章站
2022-05-23 09:23:30
功能介绍:ajax webshop 3从beta2开始支持php的开发了,ajax webshop集成了php5的开发环境,因此不需要额外安装...
功能介绍:ajax webshop 3从beta2开始支持php的开发了,ajax webshop集成了php5的开发环境,因此不需要额外安装配置php,本例将实现一个ajax for php的简单数据查询操作,这个例子是单表操作,也可以实现主从表的数据查询。
一.数据表说明
例子采用了access数据库,当然你也可以使用mysql 或其他类型数据库,数据库名称为:demo.mdb,表名为product,创建字段分别是product_id, product_name, product_price, product_area。
二.实现数据查询
首先启动ajax webshop 3,在file中选择“new project”建立新工程。
图1
在弹出的new project对话框中设置projectname 和web server本例中设置projectname为:php_example和设置web server为:php。如果要修改工程路径,请在directory中设置要存放的路径。
图2
设置好new project后,再打开“file”选择“new .php service”,在弹出的对话框内目录输入子目录demo,设置”class name”为:simple_query;在servicetype中选择“query data”点击“ok“后,向导将按默认模板生成php单表查询的代码。
图3
输入以下数据库连接及sql代码(demo.mdb文件放在当前代码目录下):$c.realpath($_server['path_translated'])."\demo.mdb";
$sql = "select * from product";
$sqlcount = "select count(*) from product";
分析testquery.php代码,主要的实现如下:
1. 循环数据结构,用addfield向$xmlrequest填充字段(列): //fill metadata fields
2. 循环结果集记录,调用append() ,setvalue方法,向xmlrequest每一行对应字段填充数据: //fill data rows
3. 设置分页的相关参数,$xmlrequest->recno是开始记录,$xmlrequest->maxrows是每页记录数,通过执行"select count(*) from product"得到$record_count记录总数:
未完)
原文出自
一.数据表说明
例子采用了access数据库,当然你也可以使用mysql 或其他类型数据库,数据库名称为:demo.mdb,表名为product,创建字段分别是product_id, product_name, product_price, product_area。
二.实现数据查询
首先启动ajax webshop 3,在file中选择“new project”建立新工程。
图1
在弹出的new project对话框中设置projectname 和web server本例中设置projectname为:php_example和设置web server为:php。如果要修改工程路径,请在directory中设置要存放的路径。
图2
设置好new project后,再打开“file”选择“new .php service”,在弹出的对话框内目录输入子目录demo,设置”class name”为:simple_query;在servicetype中选择“query data”点击“ok“后,向导将按默认模板生成php单表查询的代码。
图3
输入以下数据库连接及sql代码(demo.mdb文件放在当前代码目录下):$c.realpath($_server['path_translated'])."\demo.mdb";
$sql = "select * from product";
$sqlcount = "select count(*) from product";
分析testquery.php代码,主要的实现如下:
1. 循环数据结构,用addfield向$xmlrequest填充字段(列): //fill metadata fields
复制代码 代码如下:
for ($i=1; $i<=$fields_count; $i++) {
$fieldname = odbc_field_name($result_id, $i);
$datatype = odbc_field_type($result_id, $i);
$xmlrequest->addfield($fieldname, $datatype);
}
$fieldname = odbc_field_name($result_id, $i);
$datatype = odbc_field_type($result_id, $i);
$xmlrequest->addfield($fieldname, $datatype);
}
2. 循环结果集记录,调用append() ,setvalue方法,向xmlrequest每一行对应字段填充数据: //fill data rows
复制代码 代码如下:
for ($i=0; $i<$record_count; $i++) {
odbc_fetch_row($result_id);
if($i>=$recno && $i<$recno+$maxrows) {
$xmlrequest->append();
for ($j=1; $j<=$fields_count; $j++) {
$xmlrequest->setvaluebyindex($j-1, odbc_result($result_id, $j));
}
}
if($i>=$recno+$maxrows) break;
}
odbc_fetch_row($result_id);
if($i>=$recno && $i<$recno+$maxrows) {
$xmlrequest->append();
for ($j=1; $j<=$fields_count; $j++) {
$xmlrequest->setvaluebyindex($j-1, odbc_result($result_id, $j));
}
}
if($i>=$recno+$maxrows) break;
}
3. 设置分页的相关参数,$xmlrequest->recno是开始记录,$xmlrequest->maxrows是每页记录数,通过执行"select count(*) from product"得到$record_count记录总数:
复制代码 代码如下:
$sqlcount = "select count(*) from product";
$result_id = @odbc_do($connid, $sqlcount);
if($result_id==null)
throw new exception($sqlcount);
odbc_fetch_row($result_id);
$record_count = odbc_result($result_id,1);
$xmlrequest->setrecordcount($record_count);
$recno = $xmlrequest->recno;
$maxrows = $xmlrequest->maxrows;
if($maxrows==-1) $maxrows = $record_count;
后台数据访问类建立好后,在“file”中选择“new page”打开“new page”对话框在“file name”中设置页面名称,如本例“simple.htm”点击ok完成设置。 $result_id = @odbc_do($connid, $sqlcount);
if($result_id==null)
throw new exception($sqlcount);
odbc_fetch_row($result_id);
$record_count = odbc_result($result_id,1);
$xmlrequest->setrecordcount($record_count);
$recno = $xmlrequest->recno;
$maxrows = $xmlrequest->maxrows;
if($maxrows==-1) $maxrows = $record_count;
未完)
原文出自