【问题标题】:PHP/JSON-jquery paginationPHP/JSON-jquery 分页
【发布时间】:2012-03-04 10:11:51
【问题描述】:

我需要每页显示两个,并在页面底部有一个分页。

这是我目前的做法。

如您所见,我们目前不进行任何分页。

返回 JSON 数据的 PHP 代码

public function realcashoffers($state,$count)
{
 $this->state = $state;
 $this->number = $count;         
 $result = $this->JSONselect("approved_business, business_stores, Real_Cash_Offers"," *, group_concat(offer ORDER BY offer ASC SEPARATOR ',') as offers"," approved_business.id = business_stores.business_id AND  Real_Cash_Offers.business_id = approved_business.id  AND Real_Cash_Offers.storeid = business_stores.storeid AND business_stores.state = '{$this->state}'","GROUP BY id ORDER BY RAND(), approved_business.id DESC LIMIT {$this->number} ");

 $remaining = $count - count($result);

 if ($remaining) {
    $this->type = 'G';
    $result = array_merge($result, $this->JSONselect("iNcard_Products","*, productname as tradingname, CONCAT_WS('|', id,'{$this->type}') AS id, CONCAT_WS('|', spend, cashback) AS offer, group_concat(CONCAT_WS('|', spend, cashback) ORDER BY spend ASC SEPARATOR ',') as offers ,picurl as pictureurl","picurl != 'NULL'","GROUP BY productname ORDER BY RAND() LIMIT {$remaining} "));

 }

 print $this->JSONprint($result);
}

jQuery 代码

function fetch(e,formstring)
{
    var a = 1;
    var b = 1;
    var rc="";
    var spendoffer="";
    $.ajax({
      type: 'POST',
      url: 'http://www.incard.com.au/newsite/system/classes/core.php',
      data: formstring,
      dataType: 'json',
      contentType: "application/x-www-form-urlencoded;charset=utf-8",
      beforeSend: function() {
                switch (e) {
                },
      success: function(data){
        $.each(data, function(i, obj) {

               switch (e) { 


                 //300 OFFERS
                 case 300:
                 if(a != 9)
                 {
                 $("#title"+a).html(obj.tradingname.toUpperCase());
                 if(!obj.discription)
                    {
                        obj.discription = 'We make sure that all of our customers leave with what they expected and are happy.';
                    }

                 if(!obj.pictureurl)
                 {
                    obj.pictureurl = 'http://www.incard.com.au/newsite/template/categoryimages/iStock_000008235598Small.jpg';
                 }
                 $("#pic"+a).html("<img style='width:180px;' src='"+obj.pictureurl+"'/>");
                 $("#spend"+a+"_0").html("Spend $"+obj.offers.split('|')[0].replace('.00', '').replace(' $', '')+"<br/><span>Get $"+obj.offers.split('|')[1].split(',')[0].replace(' $', '')+"</span>");
                 if(obj.offers.split(',')[b])
                 {

                    rc = obj.offers.split(',')[b];
                    spendoffer = rc.split('|');
                    $("#spend"+a+"_1").append("Spend $"+spendoffer[0].replace('.00', '').replace(' $', '')+" <span>Get $"+spendoffer[1].replace(' $ ', '')+"</span><br/>");
                    b++;
                    if(obj.offers.split(',')[b])
                    {
                    rc = obj.offers.split(',')[b];
                    spendoffer = rc.split('|');
                    $("#spend"+a+"_1").append("Spend $"+spendoffer[0].replace('.00', '').replace(' $', '')+" <span>Get $"+spendoffer[1].replace(' $', '')+"</span><br/>");
                    }
                    b++;

                    if(obj.offers.split(',')[b])
                    {
                    rc = obj.offers.split(',')[b];
                    spendoffer = rc.split('|');
                    $("#spend"+a+"_1").append("Spend $"+spendoffer[0].replace('.00', '').replace(' $ ', '')+" <span>Get $"+spendoffer[1].replace(' $', '')+"</span><br/>");
                    }

                 }
                 else
                 { 
                    b = 1;
                    //$("#spend"+a+"_1").html("More to Come");
                 }
                 if(obj.id.split('|')[1] != "G")
                 {
                    $("a#link"+a).attr("href", "?page=BusinessOffer&id="+obj.id);
                 }
                 else
                 {
                    obj.discription = 'Looking for that perfect gift for someone special or for yourself get your '+obj.tradingname+' giftcard.';
                    $("a#link"+a).attr("href", "?page=GiftCardOffer&id="+obj.id.split('|')[0]);
                 }
                 $("#description"+a).html(obj.discription);
                 national = obj.suburb;
                 if(!national)
                 {
                    national = "National";
                 }
                 $("#sub"+a).html(national.toUpperCase());
                 a++;
                 }
                 break;


            }
             });
      },
      error: function(data){
      $.each(data,function(i,myinfo){

          });
      },
      complete: function(){
        switch (e)
        {
        case 3:
            lava();
        break;
        case 700:

            showAddress(businessaddress);
        break;
      }
      },
      "text json": jQuery.parseJSON
    });
    return false;
}

【问题讨论】:

  • 好的。有什么问题?
  • @danwit 我似乎无法添加分页器的问题

标签: php jquery json pagination


【解决方案1】:

我不确定你的问题,但是已经有一个 jquery 插件可以帮助你:

Jquery Plugin

你有一个live demo

【讨论】:

  • 最好使用php分页器,在google上搜索php分页类之类的,用jquery你仍然需要加载所有项目
猜你喜欢
  • 1970-01-01
  • 2013-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-01
  • 2014-08-22
相关资源
最近更新 更多