2010-05-26 6 views
0

Salut les gars, je suis un peu sur un correctif ici. Je sais à quel point il est facile de créer des liens de pagination simples pour les pages dynamiques grâce auxquelles vous pouvez naviguer entre des ensembles partiels d'enregistrements à partir de requêtes sql. Cependant, la situation que j'ai est la suivante:Besoin d'un extrait de code pour pagination vers l'arrière

COnsider que je souhaite paginer entre les enregistrements répertoriés dans un fichier plat - Je n'ai aucun problème avec la récupération et même la pagination en supposant que le fichier plat est un fichier csv avec le premier champ comme un id et de nouvelles reocrds sur de nouvelles lignes.

Cependant, j'ai besoin de faire un système de pagination qui pagine en arrière, c'est-à-dire que je veux que la dernière entrée du fichier apparaisse comme la première. Puisque je n'ai pas le pouvoir de sql pour m'aider ici, je suis un peu coincé - tout ce que j'ai est une séquence fixe qui doit être paginée, notez aussi que l'identifiant mentionné comme premier champ n'est pas nécessairement numérique alors oubliez le tri par les chiffres ici.

J'ai fondamentalement besoin d'un moyen de faire une boucle dans le fichier mais vers l'arrière et de le paginer en tant que tel.

Comment puis-je faire cela - je travaille en php - j'ai juste besoin le code à boucle à travers et paginera-à-dire comment dire qui est le décalage et qui est la page en cours, etc.

+0

Pouvez-vous fournir un exemple du fichier source que vous analysez? – Riley

Répondre

0

Je suis en supposant que vous avez un document bien formé avec des délimiteurs.

$array = explode("<>", $source); //parse data into an array 
$backward = array_reverse($array); //entire array is reversed - last elements are now first 
0

Utilisez ce code pour un point de départ.

$records = file('filedata.csv'); 
$recordsInOrder = array_reverse($records); 
$first = 5; 
$last = 10; 
for($x = $first; $x <= $last; $x++) { 
    $viewTheseResults[] = $recordsInOrder[$x]; 
} 

Vous pouvez utiliser un décalage pour déterminer le début et la fin des clés du tableau similaire à la façon dont vous le feriez si vous tiriez les données à partir d'une base de données.

Questions connexes