有點(diǎn)不太明白你的意思,不過thinkphp的查詢可以使用這種方法,你上面有兩個(gè)表,假設(shè)用戶表就叫做user,文章表叫做paper,那你就可以這樣:$dao=M("user"); $rs=$dao-table('user as u,paper as p')-field('u.xxxx,p.xxxx')-select();
成都創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括寧津網(wǎng)站建設(shè)、寧津網(wǎng)站制作、寧津網(wǎng)頁制作以及寧津網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,寧津網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到寧津省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
其中field()方法是你要查找的字段,如果在你兩張表沒有字段名是重復(fù)的情況下,你也是可以不用這個(gè)方法的。這樣就把你要查找的資料存放到一個(gè)組數(shù)$rs里面了
本人用ThinkPHP3.2,今天正在開發(fā)一個(gè)需要分組顯示的功能,可是從數(shù)據(jù)庫中把相應(yīng)數(shù)據(jù)讀取后直接用group分組,結(jié)果每組顯示的是最老的記錄,我的需求是要顯示每組的最新記錄。在網(wǎng)上大搜一翻后,未果,本人決定自行研究,現(xiàn)將方法記錄于此以防遺忘。
其實(shí)很簡單,以供就兩步:
第一步:
將符合條件的數(shù)據(jù)全部取出,暫不用group分組,作為子查詢:
[php]?view plain?copy
$subQuery?=?$model-field('id,name')-table('tablename')-where($where)-order('time?desc')-select(false);
第二部:
利用子查詢進(jìn)行查詢分組
[php]?view plain?copy
$model-table($subQuery.'?a')-group('field')-select();span?style="font-family:?Arial,?Helvetica,?sans-serif;"?/span
好了,思路就是這樣。希望對大家有幫助!
?php
if($_POST['cid']){//拿到分組的ID值
$sql??=?"SELECT?*?FROM?`deptuser`?WHERE?`cid`?=?".$_POST['cid'];
$result?=?mysql_query($sql);
if($result??mysql_num_rows($result)){
while($rows?=?mysql_fetch_assoc($result)){
$arr[]?=?$rows;
}
}else{
?? echo?"沒有成員數(shù)據(jù)";
}
}
foreach?($arr?as?$key?=?$value)?{
if?($key?==?'uid')?{
$newname['name']?=?getUserName($value);
}else{
$newname[$key]?=?$value;
}
}
//這個(gè)就是分組下帶用戶名的數(shù)組
print_r($newname);
function?getUserName($uid){
$sql?=?"SELECT?name?FROM?`user`?WHERE?`uid`?=?".$uid;
$result?=?mysql_query($sql);
if?($result)?{
$rows?=?mysql_fetch_assoc($result);
return?$rows;
}else{
echo?"查詢沒有用戶名";
}
}
?
//也可以這樣?
//?php
$sql?=?"SELECT?a.name,a.id,b.uid,b.cid?FROM?user?as?a,deptuser?as?b?WHERE?a.uid?=?b.uid?AND?b.cid?=?".$_POST['cid'];
?
望采納 Thx
分組查詢原理都是SQL的分組查詢,THINKPHP中只是用到他自己的一些自定義的方法!比如 join()、group()、having()方法等,實(shí)際對應(yīng)的也是SQL里的這些關(guān)鍵字!
例如本次需求是要按照cid進(jìn)行分組,按照通常的做法是 SELECT * FROM 表名 GROUP BY cid,這樣就能按照cid進(jìn)行分組篩選!然后使用THINKPHP的時(shí)候則使用 M('表名')-group('cid')-select(); 實(shí)際生成的語句和原始SQL代碼是一樣的。
當(dāng)前文章:php分組查詢數(shù)據(jù)庫 php分庫分表后如何查詢
文章出自:http://www.rwnh.cn/article44/ddgopee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、虛擬主機(jī)、網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、關(guān)鍵詞優(yōu)化、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)