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

Why is this Javascript much *slower* than its jQuery equivalent?

I have a HTML list of about 500 items and a "filter" box above it. I started by using jQuery to filter the list when I typed a letter (timing code added later): $('#filter').keyup( function() { var jqStart = (new Date).getTime(); var search = $(this).val().toLowerCase(); var $list = $('ul.ablist > li'); $list.each( function() { if ( $(this).text().toLowerCase().indexOf(search) === -1 ) $(this).hide(); else $(this).show(); } ); console.log('Time: ' + ((new Date).getTime() - jqStart)); } ); However, there was a couple of seconds delay after typing each letter (particularly the first letter). So I thought it may be slightly quicker if I used plain Javascript (I read recently that jQuery's each function is particularly slow). Here's my JS equivalent: document.getElementById('filter').addEventListener( 'keyup', function () { var jsStart = (new Date).getTime()...

Is it possible to have IF statement in an Echo statement in PHP

Thanks in advance. I did look at the other questions/answers that were similar and didn't find exactly what I was looking for. I'm trying to do this, am I on the right path? echo " <div id='tabs-".$match."'> <textarea id='".$match."' name='".$match."'>". if ($COLUMN_NAME === $match) { echo $FIELD_WITH_COLUMN_NAME; } else { } ."</textarea> <script type='text/javascript'> CKEDITOR.replace( '".$match."' ); </script> </div>"; I am getting the following error message in the browser: Parse error: syntax error, unexpected T_IF Please let me know if this is the right way to go about nesting an IF statement inside an echo. Thank you.