title: PHP/JSON-jquery pagination
body: <p>I Need away to show two per page, and have a pagination at the bottom of the page.</p>
  
  <p>Here is how I am currently doing it.</p>
  
  <p>As you can see we dont do any pagination at the moment.</p>
  
  <p>PHP code which returns the JSON data</p>
  
  <pre><code>public function realcashoffers($state,$count)
  {
   $this-&gt;state = $state;
   $this-&gt;number = $count;         
   $result = $this-&gt;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-&gt;state}'","GROUP BY id ORDER BY RAND(), approved_business.id DESC LIMIT {$this-&gt;number} ");
  
   $remaining = $count - count($result);
  
   if ($remaining) {
      $this-&gt;type = 'G';
      $result = array_merge($result, $this-&gt;JSONselect("iNcard_Products","*, productname as tradingname, CONCAT_WS('|', id,'{$this-&gt;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-&gt;JSONprint($result);
  }
  </code></pre>
  
  <p>The the jQuery Code</p>
  
  <pre><code>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("&lt;img style='width:180px;' src='"+obj.pictureurl+"'/&gt;");
                   $("#spend"+a+"_0").html("Spend $"+obj.offers.split('|')[0].replace('.00', '').replace(' $', '')+"&lt;br/&gt;&lt;span&gt;Get $"+obj.offers.split('|')[1].split(',')[0].replace(' $', '')+"&lt;/span&gt;");
                   if(obj.offers.split(',')[b])
                   {
  
                      rc = obj.offers.split(',')[b];
                      spendoffer = rc.split('|');
                      $("#spend"+a+"_1").append("Spend $"+spendoffer[0].replace('.00', '').replace(' $', '')+" &lt;span&gt;Get $"+spendoffer[1].replace(' $ ', '')+"&lt;/span&gt;&lt;br/&gt;");
                      b++;
                      if(obj.offers.split(',')[b])
                      {
                      rc = obj.offers.split(',')[b];
                      spendoffer = rc.split('|');
                      $("#spend"+a+"_1").append("Spend $"+spendoffer[0].replace('.00', '').replace(' $', '')+" &lt;span&gt;Get $"+spendoffer[1].replace(' $', '')+"&lt;/span&gt;&lt;br/&gt;");
                      }
                      b++;
  
                      if(obj.offers.split(',')[b])
                      {
                      rc = obj.offers.split(',')[b];
                      spendoffer = rc.split('|');
                      $("#spend"+a+"_1").append("Spend $"+spendoffer[0].replace('.00', '').replace(' $ ', '')+" &lt;span&gt;Get $"+spendoffer[1].replace(' $', '')+"&lt;/span&gt;&lt;br/&gt;");
                      }
  
                   }
                   else
                   { 
                      b = 1;
                      //$("#spend"+a+"_1").html("More to Come");
                   }
                   if(obj.id.split('|')[1] != "G")
                   {
                      $("a#link"+a).attr("href", "?page=BusinessOffer&amp;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&amp;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;
  }
  </code></pre>