|
La Communauté Webmaster 
| Pages: [1] |
 |
|
|
|
Auteur |
Sujet: Pagination php (Lu 3566 fois) |
|
 |
Pagination php
« sur: le 27-04-2011 a 14:17:40 » |
|
webmasterfdm
Membre récent

Hors-Ligne
Messages: 13

|
Bonjour, sur mon site je récupère des infos à partir d'un fichier .xml
Lorsque je les affiche sur ma page, je limite le nombre de réponses pour que ça ne "déborde" pas. Ce que j'aimerais, c'est pouvoir récupérer toutes les infos et qu'une pagination automatique soit créée, pour afficher comme dans mon code ci-dessous 5 éléments par page mais que tous les éléments contenus dans le fichier puissent être affichés en créant d'autres pages ... J'espère que vous me comprenez lol
Voici mon code php :
<?php require_once "magpierss/rss_fetch.inc"; define('MAGPIE_OUTPUT_ENCODING', 'UTF-8'); define('MAGPIE_OUTPUT_ENCODING', 'UTF-8'); define('MAGPIE_INPUT_ENCODING', 'UTF-8'); define('MAGPIE_DETECT_ENCODING', false); $fichier_xml = "http://www.fins-de-mois.com/bons_reduction.xml"; $nombre_element = 5; $rss = fetch_rss($fichier_xml); if (is_array($rss->items)) { $liste = array_slice($rss->items, 0, $nombre_element); foreach ($liste as $item) { $advertiser = $item[advertiser]; $description = $item[description]; $url = $item[url]; $adv = str_replace('-','',$advertiser); $descript = str_replace('€','€',$description); $desc = str_replace('-','',$descript); echo "<span class=\"title\">$adv <b>:</b></span><br />$desc<br /><form method=\"post\" action=\"$url\" target=\"_blank\"><input class=\"bouton\" type=submit value=\"Cliquez ici\"></form><br />\n"; } } ?>
Merci d'avance pur votre aide précieuse. |
|
|
|
|
|
|
 |
Re:Pagination php
« Répondre #1 sur: le 28-04-2011 a 00:45:19 » |
|
|
|
|
 |
Re:Pagination php
« Répondre #2 sur: le 28-04-2011 a 02:17:19 » |
|
|
|
|
 |
Re:Pagination php
« Répondre #3 sur: le 28-04-2011 a 10:22:28 » |
|
|
|
|
 |
Re:Pagination php
« Répondre #4 sur: le 28-04-2011 a 11:32:06 » |
|
|
|
|
 |
Re:Pagination php
« Répondre #5 sur: le 28-04-2011 a 12:52:55 » |
|
webmasterfdm
Membre récent

Hors-Ligne
Messages: 13

|
Re : j'ai fait ceci vite fait :
<?php require_once "magpierss/rss_fetch.inc"; define('MAGPIE_OUTPUT_ENCODING', 'UTF-8'); define('MAGPIE_OUTPUT_ENCODING', 'UTF-8'); define('MAGPIE_INPUT_ENCODING', 'UTF-8'); define('MAGPIE_DETECT_ENCODING', false); $fichier_xml = "http://www.fins-de-mois.com/bons_reduction.xml"; $page = isset($_GET['page']) ? $_GET['page'] : ''; $nombre_element = 3; $rss = fetch_rss($fichier_xml); print "<div class=\"centrage\">"; if (is_array($rss->items)) { $nbres = count($rss->items); $elem = ($page*$nombre_element-$nombre_element); $liste = array_slice($rss->items, $elem, $nombre_element); foreach ($liste as $item) for ($page = 1; $page <= ceil($nbres/$nombre_element); $page++) { if ($page>0) { $precedent=$page-1; echo "<a href=\"$PHP_SELF?page=$precedent\"> <img src=\"http://www.fins-de-mois.com/images/page_precedente.png\" align=AbsMiddle width=\"32\" height=\"32\" border=\"0\" alt=\"Page précédente\"> </a>"; } $i=0; $j=1; if($nbres>$nombre_element) { while($i<($nbres/$nombre_element)) { if($i!=$page){echo "<a href=\"$PHP_SELF?page=$i\">$j</a> ";} else { echo "<b>$j</b> ";} $i++;$j++; } } if($elem+$nombre_element<$nbres) { $suivant=$page+1; echo "<a href=\"$PHP_SELF?page=$suivant\"> <img src=\"http://www.fins-de-mois.com/images/page_suivante.png\" align=AbsMiddle width=\"32\" height=\"32\" border=\"0\" alt=\"Page suivante\"> </a>"; } } print "</div>"; { $advertiser = $item[advertiser]; $description = $item[description]; $url = $item[url]; $adv = str_replace('-','',$advertiser); $descript = str_replace('€','€',$description); $desc = str_replace('-','',$descript); echo "<span class=\"title\">$adv <b>:</b></span><br />$desc<br /><form method=\"post\" action=\"$url\" target=\"_blank\"><input class=\"bouton\" type=submit value=\"Cliquez ici\"></form><br />\n"; } } ?>
Comme vous le constatez, ce n'est pas encore tout à fait ça ...
Pourriez-vous me dire où sont mes erreurs svp ? |
|
|
|
|
 |
Re:Pagination php
« Répondre #6 sur: le 28-04-2011 a 12:58:43 » |
|
|
|
|
 |
Re:Pagination php
« Répondre #7 sur: le 28-04-2011 a 13:31:25 » |
|
Apollinaire
Membre récent

Hors-Ligne
Sexe: 
Messages: 7

|
Ca me semble un peu compliqué. Voilà ce que je tentais d'expliquer à partir de votre premier code :
<?php require_once "magpierss/rss_fetch.inc"; define('MAGPIE_OUTPUT_ENCODING', 'UTF-8'); define('MAGPIE_OUTPUT_ENCODING', 'UTF-8'); define('MAGPIE_INPUT_ENCODING', 'UTF-8'); define('MAGPIE_DETECT_ENCODING', false); $fichier_xml = "http://www.fins-de-mois.com/bons_reduction.xml"; if(!empty($_GET['page'])) $page=$_GET['page']; else $page=1; $nombre_element = 5; $rss = fetch_rss($fichier_xml); if (is_array($rss->items)) { $nbres=count($rss->items); $felem = $page*$nombre_element-$nombre_element; $liste = array_slice($rss->items, $felem, $nombre_element); foreach ($liste as $item) { $advertiser = $item[advertiser]; $description = $item[description]; $url = $item[url]; $adv = str_replace('-','',$advertiser); $descript = str_replace('€','€',$description); $desc = str_replace('-','',$descript); echo "<span class=\"title\">$adv <b>:</b></span><br />$desc<br /><form method=\"post\" action=\"$url\" target=\"_blank\"><input class=\"bouton\" type=submit value=\"Cliquez ici\"></form><br />\n"; } if(ceil($nbres/$nombre_element)>1){ if($page>1) //On écrit l'icone de page précédente for($cpt=1;$cpt<=ceil($nbres/$nombre_element);$cpt++){ if($page==$cpt) echo $cpt; else echo '<a href="'.$PHP_SELF.'?page='.$cpt.'">'.$cpt.'</a>'; } if($page<ceil($nbres/$nombre_element)) //On écrit l'icone de page suivante } } ?>
Il est possible qu'il y ait quelques erreurs car je n'ai pas testé. |
|
|
|
|
 |
Re:Pagination php
« Répondre #8 sur: le 28-04-2011 a 14:28:18 » |
|
|
|
|
 |
Re:Pagination php
« Répondre #9 sur: le 29-04-2011 a 04:10:44 » |
|
|
|
|
 |
Re:Pagination php
« Répondre #10 sur: le 29-04-2011 a 18:08:47 » |
|
webmasterfdm
Membre récent

Hors-Ligne
Messages: 13

|
Bonjour, voici mon dernier code :
<?php require_once "magpierss/rss_fetch.inc"; define('MAGPIE_OUTPUT_ENCODING', 'UTF-8'); define('MAGPIE_OUTPUT_ENCODING', 'UTF-8'); define('MAGPIE_INPUT_ENCODING', 'UTF-8'); define('MAGPIE_DETECT_ENCODING', false); $fichier_xml = "http://www.fins-de-mois.com/bons_reduction.xml"; $nombre_element = 5; $rss = fetch_rss($fichier_xml); if(!empty($_GET['page'])) $page=$_GET['page']; else $page=1; if (is_array($rss->items)) { $nbres=count($rss->items); $felem = $page*$nombre_element-$nombre_element; $liste = array_slice($rss->items, $felem, $nombre_element); foreach ($liste as $item) $advertiser = $item[advertiser]; $description = $item[description]; $url = $item[url]; $adv = str_replace('-','',$advertiser); $descript = str_replace('','€',$description); $desc = str_replace('-','',$descript); echo "<span class=\"title\">$adv <b>:</b></span><br />$desc<br /><form method=\"post\" action=\"$url\" target=\"_blank\"><input class=\"bouton\" type=submit value=\"Cliquez ici\"></form><br />\n"; print "<div class=\"centrage\">"; if(ceil($nbres/$nombre_element)>1) if($page>1) { $precedent=$page-1; echo "<a href=\"$PHP_SELF?page=$precedent\"> <img src=\"http://www.fins-de-mois.com/images/page_precedente.png\" align=AbsMiddle width=\"32\" height=\"32\" border=\"0\" alt=\"Page précédente\"> </a>"; } for($cpt=1;$cpt<=ceil($nbres/$nombre_element);$cpt++) if($page==$cpt) echo $cpt; else echo '<a href="'.$PHP_SELF.'?page='.$cpt.'">'.$cpt.'</a>'; if($page<ceil($nbres/$nombre_element)) { $suivant=$page+1; echo "<a href=\"$PHP_SELF?page=$suivant\"> <img src=\"http://www.fins-de-mois.com/images/page_suivante.png\" align=AbsMiddle width=\"32\" height=\"32\" border=\"0\" alt=\"Page suivante\"> </a>"; } print "</div>"; } ?>
Alors, au niveau de la pagination, cela fonctionne ... MAIS !!! Maintenant bien que je définisse 5 éléments à afficher par page, il ne m'en affiche plus qu'un par page ... Et, au lieu de tous les récupérer, je ne sais pas comment, mais il en sélectionne juste quelques un dans le fichier .xml ...
|
|
|
|
|
 |
Re:Pagination php
« Répondre #11 sur: le 29-04-2011 a 18:09:37 » |
|
|
|
|
| Pages:
[1] |
|
|
|
| |
|
|