Heim  >  Artikel  >  Backend-Entwicklung  >  Beispiel für die Implementierung einer Endlosschleife in PHP, um Daten in MySQL zu erhalten

Beispiel für die Implementierung einer Endlosschleife in PHP, um Daten in MySQL zu erhalten

黄舟
黄舟Original
2017-08-22 09:21:162077Durchsuche

In letzter Zeit muss das Unternehmen Daten von MySQL abrufen und diese dann in einer drahtlosen Schleife auf der Seite anzeigen. Tatsächlich kann diese Funktion über jq oder über php+mysql erreicht werden Mit Ihnen die unbegrenzten Daten basierend auf PHP Interessierte Freunde sollten sich die Implementierungsmethode zum zyklischen Abrufen von Daten in MySQL ansehen

In letzter Zeit besteht für das Unternehmen ein Bedarf, Daten von MySQL abzurufen und diese dann anzuzeigen eine drahtlose Schleife auf der Seite. Die Hauptsache ist, immer wieder auf eine Schaltfläche zu klicken, und dann werden die Daten vom Anfang bis zum Ende durchlaufen. Wenn die Daten am Ende nicht ausreichen, ergänzen Sie sie durch ein paar Teile vom Anfang der Daten.

Tatsächlich kann diese Funktion über JQ oder PHP + MYSQL implementiert werden, aber JQ ist bequemer und effizienter.

Zeigt jedes Mal 10 Datenelemente an.


 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);
 }

Die obige SQL-Anweisung verwendet die Union-All-Methode von MySQL, um die beiden Sätze zusammenzufügen und die ersten zehn Daten zu übernehmen.


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

Der nächste Schritt besteht darin, die Daten in den Controller zu bekommen und eine Datenschnittstelle für Ajax bereitzustellen.


//测试数据库无限循环取数据
   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;
  }

Zusammenfassung

Das obige ist der detaillierte Inhalt vonBeispiel für die Implementierung einer Endlosschleife in PHP, um Daten in MySQL zu erhalten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn