代碼
SQL語(yǔ)句為
SELECT crsIpint
,crsIpout
,crsName
,wfdz
,CheckStatus
,0 AS flag FROM vehicle.crossing AS t1 LEFT JOIN ( SELECT * FROM caminfo.devs_ip_status WHERE type
= 95 ) AS t2 ON( t1.crsId = t2.DeviceID ) WHERE t1.type <> 0 LIMIT 0,20 UNION ( SELECT ip AS crsIpint,"" AS crsIpout,name AS crsName,"主服務(wù)器" AS wfdz,1 AS CheckStatus,1 AS flag FROM trk.devs_other WHERE type
= 101 )
我想要的是
SELECT crsIpint
,crsIpout
,crsName
,wfdz
,CheckStatus
,0 AS flag FROM vehicle.crossing AS t1 LEFT JOIN ( SELECT * FROM caminfo.devs_ip_status WHERE type
= 95 ) AS t2 ON( t1.crsId = t2.DeviceID ) WHERE t1.type <> 0 UNION ( SELECT ip AS crsIpint,"" AS crsIpout,name AS crsName,"主服務(wù)器" AS wfdz,1 AS CheckStatus,1 AS flag FROM trk.devs_other WHERE type
= 101 ) LIMIT 0,20
這個(gè)數(shù)據(jù) 請(qǐng)問(wèn)各位大神代碼連貫操作該怎么寫(xiě)???
而且用原生SQL 總是報(bào)query方法不存在
$Model = M(); 實(shí)例化時(shí)加個(gè)斜杠就好了 query就可以用了
query方法不存在,那就說(shuō)明$crossingModel不是model,打印$crossingModel試試看
方法一
使用query
$sql='';//原生的sql 語(yǔ)句
$res = M()->query($sql);
方法二:
1 $count=M('')-join()->where($where)->count();//獲取總記錄數(shù)
//$page 頁(yè)碼 10每頁(yè)顯示數(shù)據(jù)
2 $pagearr=getPageArr($page,10,$count);
//分頁(yè)使用的方法 建議放在common 中
function getPageArr($page, $pagesize = 10, $count)
{
$page = isset($page) ? abs(intval($page)) : 1;
$pagesize = isset($pagesize) ? abs(intval($pagesize)) : 10;
$page > 100000 && $page = 100000;
$pagesize > 100 && $page = 100;
$pagetotal = ceil($count / $pagesize);
($page > $pagetotal) && ($page = $pagetotal);
($page < 1) && ($page = 1);
//下一頁(yè)
if ($page > $pagetotal) {
$nextpage = $pagetotal;
} else {
$nextpage = $page + 1;
}
//上一頁(yè)
if ($page > 1) {
$prevpage = $page - 1;
} else {
$prevpage = $page;
}
$pagearr = array(
"page" => $page,
"pagesize" => $pagesize,
"pagetotal" => $pagetotal,
"count" => $count,
"start" => ($page - 1) * $pagesize,
"nextpage" => $nextpage,
"prevpage" => $prevpage,
);
return $pagearr;
}
3 然后你的limit可以這樣寫(xiě)了
->limit($pagearr['start'],$pagearr['pagesize'])