Exemple de comment implémenter une boucle infinie en PHP pour obtenir des données dans MySQL

黄舟
Libérer: 2023-03-15 13:46:01
original
2050 Les gens l'ont consulté

Récemment, l'entreprise a eu besoin d'obtenir des données de MySQL, puis de les afficher dans une boucle sans fil sur la page. En fait, cette fonction peut être réalisée via jq, ou via php+mysql. avec vous les données illimitées basées sur PHP Les amis intéressés devraient jeter un œil à la méthode de mise en œuvre d'obtention cyclique de données dans MySQL

Récemment, l'entreprise a eu besoin d'obtenir des données de MySQL, puis de les afficher dans une boucle sans fil sur la page. L'essentiel est de continuer à cliquer sur un bouton, puis les données défileront du début à la fin. Si les données à la fin ne suffisent pas, prenez quelques éléments du début des données pour les compléter.

En fait, cette fonction peut être implémentée via JQ ou PHP + MYSQL, mais JQ est plus pratique et plus efficace.

Affichez 10 éléments de données à chaque fois.


 public function get_data($limit){
 $sql="select * from ((select id,name from `mytable` limit {$limit},10) union all (select id,name from `mytable` limit 0,10)) as test limit 0,10";
    return $this->query($sql);
 }
Copier après la connexion

L'instruction SQL ci-dessus utilise la méthode union all de MySQL pour assembler les deux ensembles et prendre les dix premiers éléments de données.


 public function getCount(){//获取数据的条数
     $sql="select count(id) as t from `mytable`";
     return $this->query($sql);
 }
Copier après la connexion

L'étape suivante consiste à récupérer les données dans le contrôleur et à fournir une interface de données pour ajax.


//测试数据库无限循环取数据
   public function getInfiniteData(){
    //用户点击数
    $page = $_GET['click'];
     //每次展示条数
    $pagesize = 10;
     //获取总条数
    $total = $this->Mydemo->get_count();
    $t = $total[0][0]['t'];
     //算出每次点击的其起始位置
    $limit = (($page - 1)*$pagesize)%$t;
    $data = $this->Mydemo->get_data($limit);
    if (!empty($data)) {
      //转换为二维数组
      $list = [];
      foreach ($data as $key => $v) {
        $list[$key] = $data[$key][0];
      }
      $info['msg'] = $list;
      $info['code'] = '001';
    }else{
      $info['code'] = '002';
      $info['msg'] = '暂无数据';
    }
    echo json_encode($info,JSON_UNESCAPED_UNICODE);die;
  }
Copier après la connexion

Résumé

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!