|
一.數(shù)據(jù)表說(shuō)明
例子采用了Access數(shù)據(jù)庫(kù),當(dāng)然你也可以使用mysql 或其他類(lèi)型數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)名稱為:demo.mdb,表名為product,創(chuàng)建字段分別是PRODUCT_ID, PRODUCT_NAME, PRODUCT_PRICE, PRODUCT_AREA。
二.實(shí)現(xiàn)數(shù)據(jù)查詢
首先啟動(dòng)AJAX WebShop 3,在File中選擇“New Project”建立新工程。
圖1
在彈出的New Project對(duì)話框中設(shè)置projectname 和web server本例中設(shè)置projectname為:php_example和設(shè)置web server為:php。如果要修改工程路徑,請(qǐng)?jiān)贒irectory中設(shè)置要存放的路徑。
圖2
設(shè)置好New Project后,再打開(kāi)“File”選擇“New .php Service”,在彈出的對(duì)話框內(nèi)目錄輸入子目錄demo,設(shè)置”Class Name”為:simple_query;在ServiceType中選擇“Query Data”點(diǎn)擊“OK“后,向?qū)茨J(rèn)模板生成php單表查詢的代碼。
圖3
輸入以下數(shù)據(jù)庫(kù)連接及sql代碼(demo.mdb文件放在當(dāng)前代碼目錄下):$c.realpath($_SERVER['PATH_TRANSLATED'])."/demo.mdb";
$sql = "select * from product";
$sqlcount = "select count(*) from product";
分析testquery.php代碼,主要的實(shí)現(xiàn)如下:
1. 循環(huán)數(shù)據(jù)結(jié)構(gòu),用addField向$xmlRequest填充字段(列): //fill metadata fields
復(fù)制代碼 代碼如下: 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);
}
2. 循環(huán)結(jié)果集記錄,調(diào)用Append() ,SetValue方法,向xmlrequest每一行對(duì)應(yīng)字段填充數(shù)據(jù): //fill data rows
復(fù)制代碼 代碼如下: 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;
}
3. 設(shè)置分頁(yè)的相關(guān)參數(shù),$xmlRequest->recNo是開(kāi)始記錄,$xmlRequest->maxRows是每頁(yè)記錄數(shù),通過(guò)執(zhí)行"select count(*) from product"得到$record_count記錄總數(shù): 復(fù)制代碼 代碼如下: $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;
后臺(tái)數(shù)據(jù)訪問(wèn)類(lèi)建立好后,在“File”中選擇“New Page”打開(kāi)“New Page”對(duì)話框在“File Name”中設(shè)置頁(yè)面名稱,如本例“simple.htm”點(diǎn)擊ok完成設(shè)置。
未完)
原文出自http://cn.joyistar.com
php技術(shù):AJAX for PHP簡(jiǎn)單表數(shù)據(jù)查詢實(shí)例,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。