2017-03-10 74 views
0

如果滾動到頁面底部,如何從數組中加載更多負載? 因此只顯示前5個「項目」,如果您滾動到底部,則會顯示下5個,因此瀏覽器不會崩潰。 我的數組:從Php數組中加載更多

$statement = $pdo->prepare("SELECT * FROM actvt"); 
$statement->execute(); 
$users = $statement->fetchAll(); 

foreach($users as $row) { 
echo $row("username"); 
} 
+0

我會使用Ajax請求,並基本上從您的對象中附加每個鍵,所以你知道哪個對象是最後一個,並有一個拉數組中的最後一個對象。 – Cam

+0

或者,您可以考慮使用服務器端數據表等適當的東西。 – Dimi

+0

如果您使用的是MySQL,您可以強制MySQL僅返回表中的一部分行:'SELECT * FROM actvt LIMIT 0,10'(0是從零開始的行偏移量,10是行數) 。 – Kyoya

回答

0

PHP

function callMore(){ 
$last_appt = $_POST['last_result']; 
$statement = $pdo->prepare("SELECT * FROM actvt WHERE date = ".$last_appt." limit = X "); //not sure your table structure , X is how many you want to load 
foreach($statement as $val){ 
    //Set your gathered results here 
} 
return X //return the results to your ajax call 
} 

JS/AJAX調用

$.ajax({ 
      type: 'POST', 
      data: { 
       action: 'callMore', 
       lastPost : XXXX //Put your last post here 
      }, 
      success : function(msg){ 
       //Do something with returned data append where ever 
      }, 
      datatype: 'json', 
    }); 

在這裏,您將需要檢測的時候你已經達到過去後...我建議做一個檢測,當你在頁面的底部,如果你是使用jquery在最後一篇文章中使用scrollTop,找到它的Y值,然後用scroll滾動窗口偏移來觸發,如果你已經接近底部了。只要你到達底部,運行你的ajax函數並檢索下一個結果。

-1

所以您可以創建某物像一個load.php:

$start=$_GET["page"]*100;//100 entries 
$statement = $pdo->prepare("SELECT * FROM actvt "); 
$statement->execute(); 
$users = $statement->fetchAll(); 
$counter=0; 
foreach($users as $row) { 
$counter++; 
if($counter>$start && $counter <=$start+100){//100 entries 
echo $row("username"); 
} 
} 
if($counter<$row.length){ 
echo "<a href='?page=".($page+1)."'>Next Page</a>"; 
} 

現在你可以稱之爲 「http://yourpage?page=10」 ......

JS部分是足以填滿另一個答案...

+0

你完全錯過了標記..他們希望在滾動時更多地拉動。你的答案是基於分頁。 – Cam

+0

@Cam但這是第一步。用戶可以通過學習js來推進,因爲這不是一個代碼服務... –

+0

有用的提示的目的是在正確的方向領先。提供不正確的代碼概念而不是我最初對密鑰的使用Ajax的開放評論是回答他的問題的開始步驟,而不是對不正確的解決方案的希望。我不是說你不知道你在說什麼,顯然你是勝任的,即時通訊稱你的解決方案不是正確的方向。但是對於它自己。 – Cam