recherche

Maison  >  Questions et réponses  >  le corps du texte

java - Quelle est une manière plus élégante d'implémenter le chargement de pagination en entreprise?

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 ^_^

.
阿神阿神2733 Il y a quelques jours649

répondre à tous(6)je répondrai

  • 大家讲道理

    大家讲道理2017-06-06 09:53:51

    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

    répondre
    0
  • 仅有的幸福

    仅有的幸福2017-06-06 09:53:51

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

    répondre
    0
  • 怪我咯

    怪我咯2017-06-06 09:53:51

    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.

    répondre
    0
  • 淡淡烟草味

    淡淡烟草味2017-06-06 09:53:51

    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 ?

    répondre
    0
  • 習慣沉默

    習慣沉默2017-06-06 09:53:51

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

    répondre
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-06 09:53:51

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

    répondre
    0
  • Annulerrépondre