Heim > Artikel > Backend-Entwicklung > Beispiel für die Implementierung einer Endlosschleife in PHP, um Daten in MySQL zu erhalten
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!