2010-02-05 3 views
0

Je me demande s'il y a une possibilité.Mise à jour des numéros de pagination

J'ai un script de pagination qui récupère le contenu d'une base de données mysql avec php et utilise jquery pour gérer tout cela.

Je veux ajouter un filtre à la pagination qui va se débarrasser de certains contenus basés sur la sélection des utilisateurs.

Lorsque le filtre est défini, je voudrais mettre à jour les numéros de pagination pour compenser les éléments qui ont été supprimés.

Ma plus grande préoccupation est que je reçois le nombre de pages pour afficher directement à partir de la base de données qui rendrait impossible de mettre à jour les numéros de pagination lorsque filtré:

<?php 
include('config.php'); 
$per_page = 3; 

//Calculating no of pages 
$sql = "select * from explore"; 
$result = mysql_query($sql); 
$count = mysql_num_rows($result); 
$pages = ceil($count/$per_page) 
?> 

Est-ce que quelqu'un sait s'il est encore possible de mettre à jour ces chiffres lorsqu'ils sont filtrés.

Im la plupart du temps en utilisant ce tutoriel dans le cas où vous vous demandez: Here

Répondre

1

Juste pour préciser ce que Byron a dit, voici comment vous le faites (basé sur le code de votre lien):

En ce moment, dans le pagination.php il y a une ligne qui ressemble à ceci

$sql = "select * from messages"; 

et pageination_data.php comme ceci:

$sql = "select * from messages order by msg_id limit $start,$per_page"; 

Disons que vous voulez un filtre qui affiche uniquement les messages d'aujourd'hui.

alors vous auriez besoin les deux lignes suivantes:

$sql = "select * from messages where messages.date = curdate() "; 
    $sql = "select * from messages where messages.date = curdate() order by msg_id limit $start,$per_page"; 

bien sûr, je vous attends générerez les instructions SQL dynamique d'une certaine façon. Ce que cela permet au serveur sql de faire le filtrage, tout le code de l'application reste comme vous l'avez.

Remarque: n'oubliez pas que vous créez un SQL dynamique afin de ne pas vous exposer aux attaques par injection SQL. Il y a un certain nombre d'autres questions qui abordent l'injection sql.

1

La solution est de faire du côté sever de filtration. IE lorsque vous appliquez un filtre, vous envoyez les données au serveur et le sql est mis à jour pour inclure/exclure tout ce que votre filtre dit.

+0

Je ne suis pas sûr de comprendre complètement. Je mets à jour la base de données? Y a-t-il un exemple de ceci? Merci. –