php中有datatable,用法如下:
成都創(chuàng)新互聯(lián)于2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站建設(shè)、成都網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元邱縣做網(wǎng)站,已為上家服務(wù),為邱縣各地企業(yè)和個人服務(wù),聯(lián)系電話:13518219792
datatable使用技巧
(1)create a datatable
datatable dt = new datatable("table_ax");
(2)add columns for datatable
//method 1
dt.columns.add("column0", system.type.gettype("system.string"));
//method 2
datacolumn dc = new datacolumn("column1", system.type.gettype("system.boolean"));
dt.columns.add(dc);
(3)add rows for datatable
//initialize the row
datarow dr = dt.newrow();
dr["column0"] = "ax";
dr["column1"] = true;
dt.rows.add(dr);
原生SQL查詢有 query() 和 execute() 兩個方法:
query():用于 SQL 查詢操作,并返回符合查詢條件的數(shù)據(jù)集
execute():更新和寫入數(shù)據(jù)的 SQL 操作,返回影響的記錄數(shù)
query()
query() 方法是用于 SQL 查詢操作,和select()方法一樣返回符合查詢條件的數(shù)據(jù)集。
例子:
public function read(){
// 實例化一個空模型,沒有對應(yīng)任何數(shù)據(jù)表
$Dao = M();
//或者使用 $Dao = new Model();
$list = $Dao-query("select * from user where uid5");
if($list){
$this-assign('list', $list );
$this-display();
} else {
$this-error($Dao-getError());
}
}
對于 query() 方法返回的數(shù)據(jù)集,跟 select() 一樣,可以在模板里直接循環(huán)輸出。
execute()
execute() 方法用于更新和寫入數(shù)據(jù)的 SQL 操作(注:非查詢操作,無返回數(shù)據(jù)集),返回影響的記錄數(shù)。
例子:
public function read(){
header("Content-Type:text/html; charset=utf-8");
// 實例化一個空模型,沒有對應(yīng)任何數(shù)據(jù)表
$Dao = M();
//或者使用 $Dao = new Model();
$num = $Dao-execute("update user set email = '12345@xxx.com' where uid=3");
if($num){
echo '更新 ',$num,' 條記錄。';
}else{
echo '無記錄更新';
}
}
如果查詢比較復(fù)雜或一些特殊的數(shù)據(jù)操作不能通過 ThinkPHP 內(nèi)置的 ORM 和 ActiveRecord 模式實現(xiàn)時,就可以通過直接使用原生 SQL 查詢來實現(xiàn)。
注意:以上都是 user 沒有表前綴的例子,在查詢語句中,查詢的表應(yīng)該寫實際的表名字(包括前綴)。
thinkphp的select和find的區(qū)別總結(jié)如下:
select方法返回的一個數(shù)據(jù)集,而find方法返回的是一行。
舉例說明:
1、find的使用結(jié)果演示:
$tech=M('techlevel','HR_CS_','DB_CONFIG2');
$Data=$tech-where('id=1')-find();
dump($Data);
結(jié)果:
array(6) { 這里是一維數(shù)組
["ID"] = int(1)
["TechLevel"] = string(2) "10"
["Remark"] = string(4) "??"
["CreateDate"] = string(19) "2013-03-14 15:14:38"
["CreateBy"] = string(5) "admin"
["ROW_NUMBER"] = string(1) "1"
}
2、select使用結(jié)果演示
$Data=$tech-where('id=1')-select();
dump($Data);
結(jié)果:
array(1) { 這里是二維數(shù)組
[0] = array(6) {
["ID"] = int(1)
["TechLevel"] = string(2) "10"
["Remark"] = string(4) "??"
["CreateDate"] = string(19) "2013-03-14 15:14:38"
["CreateBy"] = string(5) "admin"
["ROW_NUMBER"] = string(1) "1"
}
}
$result = mysql_query($_sql, $this-m_database) ;
// 獲得查詢的結(jié)果存入Array
$queryResult = array ();
while ( $row = mysql_fetch_assoc ( $result ) ) {
$queryResult [] = $row ;
}
// 釋放
mysql_free_result ( $result );
// 查詢的結(jié)果返回Array
return $queryResult;
require_once("./lib/adodb/adodb.inc.php");
$db = NewADOConnection('mysql');
//$db-debug = true;
$db-Connect($DB,$USR,$PWD,$DBNAME) or die("數(shù)據(jù)庫連接失敗,如果您還沒有安裝本程序,請先安裝!");
$db-Query("Set Names 'utf8'");
$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;
這樣就把 數(shù)據(jù)庫鏈接上了
一、如何得到ADODB? 它的運行環(huán)境是什么?
從上下載。
1.進(jìn)行初始化:傳統(tǒng)方式
$conn = new ADONewConnection($dbDriver);
$conn-Connect($host, $user, $passwd, $db);
基本的函數(shù):
關(guān)于ADOConnection類的相關(guān)方法有:
1.Connect:數(shù)據(jù)庫連接方法,上邊我們介紹過的。對于mysql還有PConnect,與PHP語言中的用法一樣
2.Execute($sql):執(zhí)行查詢語句結(jié)果返回一個ADORecordSet類。
3.GetOne($sql):返回第一行的第一個字段
4.GetAll($sql):返回所有的數(shù)據(jù)。這個函數(shù)可是大有用處,記得不記的我在以前的教程中寫關(guān)于新聞列表的輸入時要將需要在頁面顯示的
$strQuery = "select iNews, vcNewsTitle from tb_news_ch";
$array = $conn-GetAll($strQuery);//注意這條語句
$smarty-assign("News_CH", $array);
unset($array);
4.SelectLimit($sql, $numrows=-1, $offset=-1, $inputarrr=false): 返回一個數(shù)據(jù)集,大家從語句上也不難看出它是一條限量查詢語句,與mysql語句中的limit 有異曲同工之效,來一個簡單的例子:
$rs = $conn-SelectLimit("select iNewsID, vcNewsTitle from tb_news_CH", 5, 1);
看明白了嗎?$rs中保存的是數(shù)據(jù)庫中從第一記錄開始的5條記錄。我們知道,在oracle數(shù)據(jù)庫不支持在SQL語句中使用limit,但是我們?nèi)绻褂肁DODB的話,那這個問題就容易解決多了!
5.Close():關(guān)閉數(shù)據(jù)庫,雖然說PHP在頁面結(jié)束時會自動關(guān)閉,但為了程序的完整大家還是要在頁面結(jié)束進(jìn)行數(shù)據(jù)庫的關(guān)閉。
關(guān)于ADORecordSet.ADORecordSet為$conn-Execute($sql)返回的結(jié)果,它的基本函數(shù)如下:
1. Fields($colname):返回字段的值.
2. RecordCount():所包含的記錄數(shù).這個記錄確定數(shù)據(jù)集的記錄總數(shù).
3. GetMenu($name, [$default_str=''], [$blank1stItem=true], [$multiple_select=false], [$size=0], [$moreAttr=''])非常好的一個函數(shù),使用它可以返回一個name=$name的下拉菜單(或多選框)!!!當(dāng)然,它是一個HTML的字符串,這是一個令人激動的好東西,$name指的是option的name屬性,$default_str是默認(rèn)選中的字串,$blank1stItem指出第一項是否為空,$multiple_select指出是否為多選框,而我們得到這個字串后就可以使用$smarty-("TemplateVar", "GetMenuStr")來在模板的"TemplateVar" 處輸入一個下拉列表(或是多先框)
7.GetArray($num):返回數(shù)據(jù)集中的$num行數(shù)據(jù),將其組合成二維數(shù)組.這個方法我們在例子index.php要用到.
8. Close():同mysql_free_result($rs);清除內(nèi)容占用.
哪里不會可以問我
網(wǎng)頁標(biāo)題:php返回數(shù)據(jù)集,php查詢數(shù)據(jù)庫數(shù)據(jù)返回數(shù)據(jù)
標(biāo)題網(wǎng)址:http://sd-ha.com/article28/hoosjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗、虛擬主機、App設(shè)計、網(wǎng)站排名、網(wǎng)站收錄、品牌網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)