鍍金池/ 問(wèn)答/Java  PHP  Linux  網(wǎng)絡(luò)安全/ 透過(guò)curl json給我一千筆數(shù)據(jù),我前端要怎麼做分頁(yè)?

透過(guò)curl json給我一千筆數(shù)據(jù),我前端要怎麼做分頁(yè)?

假設(shè)我透過(guò)curl, 對(duì)方透過(guò)json來(lái)我這直接給我一千筆數(shù)據(jù)
但這樣一次出現(xiàn)一千筆似乎不太對(duì)?如何透過(guò)php方式實(shí)現(xiàn)一頁(yè)20筆?有範(fàn)本可參考?謝謝!

一點(diǎn)頭緒也沒(méi)有

function httpRequest ($api, $data_string)
{
  $ch = curl_init($api);
  curl_setopt($ch, CURLOPT_POST, 1);
  curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
  curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
  curl_setopt($ch, CURLOPT_TIMEOUT, 5);
  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
  $result = curl_exec($ch);

  curl_close($ch);

  return json_decode($result);
}


$x = array(
      "session" => $_SESSION['session']
    );
    $x_string = json_encode($x);
    $x = httpRequest($api, $x_string);

我是這樣取對(duì)方的數(shù)據(jù)的,只是要怎麼....做分頁(yè)?

回答
編輯回答
負(fù)我心

(°Д°)1000條還不分頁(yè)嗎?
理論上分頁(yè)是要由后端來(lái)完成的,一個(gè)基本思路是:
前端需要傳給后端 當(dāng)前頁(yè)數(shù),每頁(yè)數(shù)據(jù)量;
后端返回給前端 當(dāng)前頁(yè)數(shù)據(jù),總數(shù)據(jù)條數(shù)。
前端要根據(jù)總數(shù)據(jù)量和每頁(yè)條數(shù)做出相應(yīng)的頁(yè)碼鏈接~

2018年8月26日 10:08
編輯回答
吢涼

取到的數(shù)據(jù)是相同的話 那就 后臺(tái)定時(shí) 獲取 入庫(kù) 緩存 然后 你這邊查詢分頁(yè) 給前端

2018年3月9日 17:23
編輯回答
兮顏

就像樓上說(shuō)的這么多數(shù)據(jù)分頁(yè)應(yīng)該由后端處理了
如果你說(shuō)的前端是js那可以類似這樣 再for-of取了

function *paginate(data, offset, limit) {
   for(var i = offset; i<=offset + limit; i++) {
     yield data[i];
   }
}
2018年3月13日 06:14
編輯回答
忘了我

此問(wèn)題接口設(shè)計(jì)的時(shí)候就要考慮周到,分頁(yè)應(yīng)該交給后端,后端不支持的話前端無(wú)法一次只獲取某一頁(yè)的數(shù)據(jù)。后端可以加個(gè)分頁(yè)支持,前端通過(guò)透過(guò)query string指定頁(yè)碼。

2018年4月2日 12:46
編輯回答
雨蝶

理論上分頁(yè)這種事情是接口處理的,一次一千條數(shù)據(jù)不太合理

最簡(jiǎn)單的方法你在請(qǐng)求接口時(shí)多帶兩個(gè)參數(shù)offset,count
offset為當(dāng)前頁(yè)碼的數(shù)值,count為每頁(yè)需要展示的數(shù)據(jù)量

后端接收到這兩個(gè)參數(shù)后,計(jì)算出每次請(qǐng)求的數(shù)據(jù)的在數(shù)據(jù)庫(kù)中的起始位置
eg:

//$offset $count 對(duì)應(yīng)前端傳過(guò)來(lái)的值
$a = ($offset-1)*$count;
// 后端查數(shù)據(jù)庫(kù)的時(shí)候,加上limit $a,$count
2018年7月26日 12:44
編輯回答
初念

這對(duì)方接口設(shè)計(jì)就有問(wèn)題,難道沒(méi)有頁(yè)碼或者時(shí)間這種參數(shù)嗎?

2018年7月24日 22:48
編輯回答
萢萢糖

都超過(guò)一千條了后端還不做分頁(yè)?我這里超過(guò)20條后端就要做分頁(yè)了

2017年5月19日 00:02