2012-06-26 39 views
1

我正在處理的網站使用表數據,對錶數據進行計數並使用標準循環來顯示它。下面是一些代碼:使用PHP,以塊的形式加載優惠券交易

<?php 
    $output=''; 
    $count=count($deal_datas); 
    $face_value=""; 
    $deal_price=""; 
    //var_dump(400*20/100); 
    $save_value='';  
    $save_value_present=''; 
    $category_name='';  
    $cat_ids=array(); 
    $deal_link=''; 
    $address_array=array(); 
    $address=''; 
    $website_name=''; 
    $website_data=array(); 

    if($count!=0) { 
    for($i=0;$i<$count;$i++) { 
     $website_data=get_single_row("web_sites",array("id"=>$deal_datas[$i]->site_id)); 

     if(count($website_data)!=0) { 
     $website_name=$website_data[0]->name; 
     } 

     $address_array=array(); 
     $cat_ids=explode(",",$deal_datas[$i]->sub_category_ids); 

     if(count($cat_ids)!=0) { 
     $where_class=array("id"=>$cat_ids[0]); 
     $category_names=get_single_row("sub_category",$where_class); 

     if(count($category_names)!=0) { 
      $category_name=$category_names[0]->name; 
     } else { 
      $category_name="All"; 
     } 
     } else { 
     $category_name="All"; 
     } 

     $face_value=str_replace("USD","",$deal_datas[$i]->deal_face_value); 
     $face_value=str_replace("$","",$face_value); 
     $face_value=(int)str_replace(",","",$face_value); 
     $save_value_present=(int)str_replace("%","",$deal_datas[$i]->deal_save_percent); 

     if($deal_datas[$i]->deal_price!="") { 
     $deal_price=str_replace("USD","",$deal_datas[$i]->deal_price); 
     $deal_price=(int)str_replace("$","",$deal_price); 
     $save_value=$deal_price; 
     } else { 
     $save_value=$face_value*$save_value_present/100; 
     } 

     $time_zone_utc=$deal_datas[$i]->deal_oe_end_date; 
     $end_date=$time_zone_utc; 

     if($website_name!="kgbdeals") { 
     $deal_link=base_url()."deals/iframe/".$deal_datas[$i]->slug; 
     } else { 
     $deal_link=$deal_datas[$i]->deal_link; 
     } 

     if($deal_datas[$i]->deal_address==0 or $deal_datas[$i]->deal_zip_code==0) { 
     $deal_datas[$i]->deal_address=""; 
     $deal_datas[$i]->deal_zip_code=""; 
     } 

     if($deal_datas[$i]->deal_zip_code!="") { 
     $address_array[]=$deal_datas[$i]->deal_zip_code; 
    } 

     if($deal_datas[$i]->deal_address!="") { 
     $address_array[]=$deal_datas[$i]->deal_address; 
     } 

     $address=implode(" ",$address_array); 

     if($deal_datas[$i]->deal_city!="") { 
     if(empty($address_array)) { 
      $address.=$deal_datas[$i]->deal_city; 
     } else {  
      $address.=" - ".$deal_datas[$i]->deal_city; 
     } 

     //Check for valid image 
     $deal_image=base_url().'uploads/deals/'.$deal_datas[$i]->slug.'.jpg'; 


     if(getimagesize($deal_image)) { 
      $valid_image=1; 
     } else { 
      $valid_image=0; 
     } 

     if($i%2==0) { 
      $output.='<div class="clsDeal_Whole_Cont clearfix"> 

然後,它輸出數據的提交列表等 問題是,有時該數據是有時120個條目被放置在屏幕上,所述負載需要年齡。

我想要做什麼一次顯示數據4或8個條目。然後,隨着用戶滾動,添加更多內容。

或者 - 加載4.顯示它們。然後加載4個,顯示它們。等等,這樣用戶實際上可以查看內容而不是等待整個列表(如果這更簡單)。那可能嗎?

我沒有使用jquery,雖然我知道我需要整個向下滾動位。那麼,有沒有辦法重寫上面的php爲了顯示4塊直到最終結果?

+0

它被稱爲無限滾動。搜索,你會發現在jQuery等一些圖書館... –

回答

0

在我看來,表面上,你想分頁數據。這很容易做到。只需在頁面上有動態生成的下一個和上一個按鈕鏈接到列表中的偏移量(即page?offset = 4,page?offset = 8)。然後在每個頁面上加載四個項目(偏移+ 1,偏移+2,偏移+3和偏移+4)。

+0

他不是在談論分頁,它被稱爲無限滾動 –

+0

我認識到(我在DataTables中使用它),但他反駁說他不想要使用Javascript。 – Lusitanian

+0

我看不到他說他不想使用Javascript ... –