mysql - Problèmes de fonctionnement cohérent dans ThinkPHP3.2.3?
过去多啦不再A梦
过去多啦不再A梦 2017-07-05 10:46:05
0
3
928

Code


L'instruction SQL est
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,"主服务器" AS wfdz,1 AS CheckStatus,1 AS flag FROM trk.devs_other WHERE type = 101 )

Ce que je veux, c'est
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,"主服务器" AS wfdz,1 AS CheckStatus,1 AS flag FROM trk.devs_other WHERE type = 101 ) LIMITE 0,20
Ces données Pourriez-vous s'il vous plaît me dire comment écrire un code cohérent ? ? ?

Et lors de l'utilisation de SQL natif, il signale toujours que la méthode de requête n'existe pas

过去多啦不再A梦
过去多啦不再A梦

répondre à tous(3)
ringa_lee

$Model = M(); Ajoutez simplement une barre oblique lors de l'instanciation et la requête peut être utilisée

扔个三星炸死你

la méthode de requête n'existe pas, cela signifie que $crossingModel n'est pas un modèle, essayez d'imprimer $crossingModel

洪涛

Première méthode
Utilisez query
$sql='';//Instruction SQL native
$res = M()->query($sql);
Deuxième méthode :
1 $count=M('')- join ()->where($where)->count();//Obtenir le nombre total d'enregistrements
//$page la page numéro 10 affiche les données sur chaque page
2 $pagearr=getPageArr($page,10, $count) ;
//Il est recommandé de placer la méthode utilisée pour la pagination dans la fonction common
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);

//下一页
if ($page > $pagetotal) {
    $nextpage = $pagetotal;
} else {
    $nextpage = $page + 1;
}
//上一页
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 Ensuite, votre limite peut être écrite comme ceci

->limit($pagearr['start'],$pagearr['pagesize'])

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal