java - Quelle est une manière plus élégante d'implémenter le chargement de pagination en entreprise?
阿神
阿神 2017-06-06 09:51:51
0
6
639

Dans le cadre du projet responsable de la bibliothèque scolaire pour le prochain semestre, je rencontre aujourd'hui une difficulté de business design.

Par exemple, sur la page d'accueil, je prévois d'utiliser ajax pour charger toutes les informations lorsque les étudiants demandent des informations connexes. Je ne suis pas habitué à de nombreux sites Web tels que Zhihu qui glissent vers le bas pour se charger automatiquement. Mon idée est de configurer une option de pagination en bas, d'afficher 15 enregistrements sur chaque page et de charger tous les articles en utilisant ajax.

De cette façon, l'instruction SQL est probablement select xxx from xxx condition limit 15 offset xxx。但是现在由于要做分页,我必须要知道一个学生总共有多少条记录在数据库中,前端才好设计,总记录可以通过sql语句select count(*) from xxx conditioninterrogeée, puis l'enregistrement total est enregistré dans le front-end.

Si tel est le cas, la requête doit être divisée en deux instructions SQL, ce qui ne semble pas très élégant. Existe-t-il une solution d'implémentation plus élégante ?

ps : Comme il existe de nombreuses entreprises similaires dans le système qui nécessitent des conceptions de pagination similaires, il est trop inélégant d'utiliser deux instructions SQL pour interroger séparément à chaque fois.

Supplément

Le répondantsemblene même pas regarder la question. Une personne a répondu à propos de l'instruction SQL 1 et l'autre personne a parlé du front-end.

Merci à tous pour vos réponses. Le problème a été résolu. Il semble que seules deux instructions SQL puissent être utilisées ^_^

.
阿神
阿神

闭关修行中......

répondre à tous(6)
大家讲道理
var start = 页标 - 1;
$.get("url?start=" + start * 15,function(){});
$start = $_GET["start"];
$end = $start + 15;
$sql = "select * from table limit {$start}, {$end}"; 
select a.*, b.count from table a, (select count(*) as count from table ) b LIMIT 1,15
仅有的幸福

N'y pensez pas, ça doit être deux
Vous pouvez aussi en avoir un :
select * from table
union
select 0, 0... ., comptez (*) du tableau

刘奇

C'est normal. Si vous souhaitez utiliser un SQL pour résoudre le problème, vous devez vérifier tous les objets de la base de données et effectuer une série d'opérations, mais peut-être que votre mémoire va exploser.

淡淡烟草味

N’y pense pas, ça doit être deux. L'implémentation de la pagination définit une page de classe générique<T> et ce qui y est mis. Avez-vous besoin que je vous explique plus en détail ?

習慣沉默

Essayez PageHelper, c'est juste une instruction SQL, vous n'avez même pas besoin de limite

过去多啦不再A梦

Il existe de nombreux plugins pour une pagination élégante

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