Som det står i mina kommentarer.
Du kan göra följande:
$(document).ready(function()
{
$('.paginate').live('click', function(e)
{
e.preventDefault();
var btnPage = $(this);
$.ajax(
{
url : btnPage.attr('href'),
success : function(resp)
{
// replace current results with new results.
$('#project_section').html(resp);
},
error : function()
{
window.location.href = btnPage.attr('href');
}
});
});
});
Ovanstående kommer att replikera dig genom att klicka på var och en av sideringslänkarna.
Vad jag skulle råda dig att göra härnäst är att separera PHP-koden och HTML som genererar din "resultatlista" i en separat fil.
På så sätt, på sidan som visar resultaten, kan du helt enkelt använda include('path-to-results-file.php');
som kommer att fungera för icke-ajax-förfrågningar och sedan kan du göra:
Process.php
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{
include('path-to-results-file.php');
die();
}
Ovanstående skulle upptäcka om en ajax-begäran har gjorts och i så fall, istället för att visa hela sidan inklusive resultaten, kommer den helt enkelt bara att visa resultaten och sidnumren.
Uppdaterad för att inkludera en bättre förklaring
Nedan är ett MYCKET enkelt exempel på vad jag menar.
Aktuell process.php
<?
// currently contains all of the code required
// to query the database etc.
?>
<html>
<head>...</head>
<body>
<!-- header content -->
<table>
<?
// currently contains all of the code required to display
// the results table and pagination links.
?>
</table>
<!-- footer content -->
</body>
</html>
Ny process.php
<?
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{
include('path-to-results-file.php');
die();
}
?>
<html>
<head>...</head>
<body>
<!-- header content -->
<? include('path-to-results-file.php'); ?>
<!-- footer content -->
</body>
</html>
Ny path-to-results-file.php
<?
// currently contains all of the code required
// to query the database etc.
?>
<table>
<?
// currently contains all of the code required to display
// the results table and pagination links.
?>
</table>
Nu... När du går till process.php
normalt via din webbläsare, eller när javascript är inaktiverat. Det kommer helt enkelt att fungera på samma sätt som det gör utan Javascript nu.
När du går till process.php
och klicka sedan på en av pagineringslänkarna (med javascript aktiverat), process.php
kommer att upptäcka att du använder Ajax och bara skicka tillbaka resultattabellen.