IPB

Career Guidance | Technical Jobs | Walkin Interview & Job Fairs | Fresher Jobs

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
Convert this code into a google like pagination
Misha Singh
post Nov 16 2009, 12:40 AM
Post #1


Advanced Member
***

Group: Members
Posts: 8,266
Joined: 23-November 08
Member No.: 6,521



I have this RSS parsing code and it paginates , but only uses 'next' and 'previous' links instead of how google does it. I want it to read like this: first 1 2 3.... last


PHP Code:





<?php

require_once('simplepie.inc');


// Set your own configuration options as you see fit.

$feed = new SimplePie();

$feed->set_feed_url(array(

'http://feeds2.feedburner.com/MishsGlobalEconomicTrendAnalysis',

'http://feeds.feedburner.com/TheBigPicture',

'http://feeds2.feedburner.com/ChartsAndCoffee',

'http://feeds.feedburner.com/typepad/tradeblogs/the_slope_of_hope_with_ti',

));

$success = $feed->init();




// Make sure the page is being served with the right headers.

$feed->handle_content_type();


// Set our paging values

$start = (isset($_GET['start']) && !empty($_GET['start'])) ? $_GET['start'] : 0; // Where do we start?

$length = (isset($_GET['length']) && !empty($_GET['length'])) ? $_GET['length'] : 5; // How many per page?

$max = $feed->get_item_quantity(); // Where do we end?


// When we end our PHP block, we want to make sure our DOCTYPE is on the top line to make

// sure that the browser snaps into Standards Mode.

?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">

<head>

<title>SimplePie: Demo</title>


<link rel="stylesheet" href="styles.css" type="text/css" media="screen, projector" />


</head>


<body>

<div id="site">

<?php

// If we have an error, display it.

if ($feed->error())

{

echo
'<div class="sp_errors">' . "rn";

echo
'<p>' . htmlspecialchars($feed->error()) . "</p>rn";

echo
'</div>' . "rn";

}

?>



<?php if ($success): ?>

<?php

// get_items() will accept values from above.

foreach($feed->get_items($start, $length) as $item):

$feed = $item->get_feed();

?>



<div class="chunk">


<h4><?php if ($item->get_permalink()) echo '<a href="' . $item->get_permalink() . '">'; echo $item->get_title(true); if ($item->get_permalink()) echo '</a>'; ?></h4>


<p class="footnote">Source: <a href="<?php echo $feed->get_permalink(); ?>"><?php echo $feed->get_title(); ?></a> | <?putenv("TZ=US/Pacific"); echo $item->get_date('j M Y | g:i a'); ?></p>


</div>


<?php endforeach; ?>

<?php
endif; ?>



<?php

// Let's do our paging controls

$next = (int) $start + (int) $length;

$prev = (int) $start - (int) $length;


// Create the NEXT link

$nextlink = '<a href="?start=' . $next . '&length=' . $length . '">Next &raquo;</a>';

if (
$next > $max)

{

$nextlink = 'Next &raquo;';

}


// Create the PREVIOUS link

$prevlink = '<a href="?start=' . $prev . '&length=' . $length . '">&laquo; Previous</a>';

if (
$prev < 0 && (int) $start > 0)

{

$prevlink = '<a href="?start=0&length=' . $length . '">&laquo; Previous</a>';

}

else if (
$prev < 0)

{

$prevlink = '&laquo; Previous';

}


// Normalize the numbering for humans

$begin = (int) $start + 1;

$end = ($next > $max) ? $max : $next;

?>



<p>Showing <?php echo $begin; ?>&ndash;<?php echo $end; ?> out of <?php echo $max; ?> | <?php echo $prevlink; ?> | <?php echo $nextlink; ?> | <a href="<?php echo '?start=' . $start . '&length=5'; ?>">5</a>, <a href="<?php echo '?start=' . $start . '&length=10'; ?>">10</a>, or <a href="<?php echo '?start=' . $start . '&length=20'; ?>">20</a> at a time.</p>

</div>


</body>

</html>






Go to the top of the page
 
+Quote Post

Fast ReplyReply to this topicStart new topic
Tags
No Tag inserted yet

1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 16th March 2010 - 03:26 PM