Skip to main content

PHP/JSON-jquery pagination



I Need away to show two per page, and have a pagination at the bottom of the page.





Here is how I am currently doing it.





As you can see we dont do any pagination at the moment.





PHP code which returns the JSON data







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);

}







The the jQuery 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("<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;

}




Comments

Popular posts from this blog

Slow Android emulator

I have a 2.67 GHz Celeron processor, 1.21 GB of RAM on a x86 Windows XP Professional machine. My understanding is that the Android emulator should start fairly quickly on such a machine, but for me it does not. I have followed all instructions in setting up the IDE, SDKs, JDKs and such and have had some success in staring the emulator quickly but is very particulary. How can I, if possible, fix this problem?