Votre question

[résolu] PHP - Limiter l'affichage par page - au secours...

Tags :
  • MySQL
  • Programmation
Dernière réponse : dans Programmation
15 Juin 2007 14:38:40

Bonjour,
J'ai dans mon site une rubrique revue de presse qui affiche les articles que j'insère dans ma base de données. Le problème est que j'aimerais mettre une limite d'affichage à 4 articles par page pourne pas avoir des pages de 20m de long...
J'ai donc trouvé un script qui me semble bien que j'ai essayé d'adapter à mon code mais sans succès puisque maintenant mes articles ne s'affichent plus. Quelqu'un pourrait m'aider à trouver mon erreur? Merci d'avance pour votre aide

Script de départ :

<?php
include ("connexion.php");
$reponse = mysql_query ("SELECT *, DATE_FORMAT(`date`, '%d/%m/%Y') as date_fr FROM pressearies ORDER BY identifiant DESC")or die(mysql_error());
while ($donnees = mysql_fetch_array($reponse))
{
;
?>
<br>
</span><span class="Style2"><?php echo $donnees['titre']; ?> <?php echo $donnees['titraille']; ?></span><br>
<span class="Style5">Le <?php echo $donnees['date_fr']; ?>, <?php echo $donnees['journal']; ?> (<?php echo $donnees['rubrique']; ?>)</span><br>
<span class="Style3"><?php echo $donnees['resume']; ?></span><span class="Style9"></span><span class="Style8"><br>
<span class="Style3"><?php echo $donnees['auteur']; ?></span><br>
<span class="Style7"><?php echo "<a href=".$donnees['lien']." target="._blank.">".$donnees['lien']."</a>"; ?></span></span></div></td>
</tr>
<tr>
<td><div align="justify"><span class="Style8">
<?php
}

mysql_close();
?>

Script modifié pour limiter l'affichage :


<?php
include ("connexion.php");
$page = isset($_GET['essaipresselimit.php']) ? $_GET['essaipresselimit.php'] : '';

// Prepare le requete MySql
$requete = "SELECT *, DATE_FORMAT(`date`, '%d/%m/%Y') as date_fr FROM pressearies ORDER BY identifiant DESC";
$ret = mysql_query($requete) or die(mysql_error());
// Variable nombre d'enreg par page
$limit=4;
if($debut==""){$debut=0;}
$debut=$page*$limit;
// Compte le nombre de champ
$nb_total=mysql_num_rows($ret);
// Requete
$limite=mysql_query("$requete limit $debut,$limit");


// Affiche le page par page avec ses liens
if ($page>0) {
$precedent=$page-1;
echo "<a href=\"$PHP_SELF?page=$precedent\">PRECEDENT</a>";
}

$i=0;
$j=1;

if($nb_total>$limit) {
while($i<($nb_total/$limit)) {
if($i!=$page){echo "<a href=\"$PHP_SELF?page=$i\">$j</a> ";}
else { echo "<b>$j</b>";}
$i++;$j++;
}
}

if($debut+$limit<$nb_total) {
$suivant=$page+1;
echo "<a href=\"$PHP_SELF?page=$suivant\">SUIVANT</a>";
}


//Affichage le contenu de votre table
//avec une limite, dans l'exemple $limit est à 4

$limit_str = "LIMIT ". $page * $limit .",$limit";

$result = mysql_query("SELECT *, DATE_FORMAT(`date`, '%d/%m/%Y') as date_fr FROM pressearies ORDER BY identifiant DESC $limit_str");
while ($row =mysql_fetch_array ($result) )
{
;
?>
<br>
</span><span class="Style2"><?php echo $donnees['titre']; ?> <?php echo $donnees['titraille']; ?></span><br>
<span class="Style5">Le <?php echo $donnees['date_fr']; ?>, <?php echo $donnees['journal']; ?> (<?php echo $donnees['rubrique']; ?>)</span><br>
<span class="Style3"><?php echo $donnees['resume']; ?></span><span class="Style9"></span><span class="Style8"><br>
<span class="Style3"><?php echo $donnees['auteur']; ?></span><br>
<span class="Style7"><?php echo "<a href=".$donnees['lien']." target="._blank.">".$donnees['lien']."</a>"; ?></span></span></div></td>
</tr>
<tr>
<td><div align="justify"><span class="Style8">
<?php
}

mysql_close();
?>

Autres pages sur : resolu php limiter affichage page secours

15 Juin 2007 14:47:25

met sa dans un .txt sur ton site et donne nous l'url car c'est franchement pas facile à regarder ici.
15 Juin 2007 14:54:56

$result = mysql_query("SELECT *, DATE_FORMAT(`date`, '%d/%m/%Y') as date_fr FROM pressearies ORDER BY identifiant DESC $limit_str" );
while ($row =mysql_fetch_array ($result) )
{
;
?>
<br>
</span><span class="Style2"><?php echo $donnees['titre']; ?> <?php echo $donnees['titraille']; ?></span><br>
<span class="Style5">Le <?php echo $donnees['date_fr']; ?>, <?php echo $donnees['journal']; ?> (<?php echo $donnees['rubrique']; ?> )</span><br>
<span class="Style3"><?php echo $donnees['resume']; ?></span><span class="Style9"></span><span class="Style8"><br>
<span class="Style3"><?php echo $donnees['auteur']; ?></span><br>
<span class="Style7"><?php echo "<a href=".$donnees['lien']." target="._blank.">".$donnees['lien']."</a>"; ?></span></span></div></td>
</tr>
<tr>
<td><div align="justify"><span class="Style8">
<?php
}

mysql_close();
?>

salut je sais pas si ton pb viens de la g regardé vite mais dans ton while tu as $row=mysql_fetch_array et ensuite tu fais des echo $donnees[]
faudrait peut être mettre le même nom de variable...
Contenus similaires
15 Juin 2007 14:56:16

salut,
désolée mais je ne peux pas vraiment donner l'url de mon site maintenant, il est en ligne pour que je bosse dessus mais c'est tout, il n'est pas sorti "officiellement"
15 Juin 2007 14:58:06

@ confitureauxcochons :
ah oui merde j'ai complètement oublié de regarder par là quand j'ai changé mon code! (étourdie...) je regarde merci!
15 Juin 2007 15:34:22

Alors effectivement j'ai changé le $donnees en $row et mes données s'affichent bien, mais maintenant le problème se situe au niveau du lien entre les pages, qui ne fonctionne pas du tout
15 Juin 2007 15:47:25

et si tu remplaces $_GET['essaipresselimit.php'] par $_GET['page'] ?
15 Juin 2007 15:54:50

ah oui comme ca c'est beaucoup mieux effectivement...
Merci bcp!
13 Septembre 2007 14:23:15

Bonjour,

J'ai un problème similaire à celui évoqué précedemment.
Je suis en train de développer un site commerce avec des produits et des catégories.
Sur ma page affichage, selon la recherche effectuée, on affiche pas la même chose.

J'ai utilisé la même méthode pour mon back office où laà j'affichais tous les produits, donc plus simple.

Et là, j'ai bien le bon nombre de produits qui s'affichent sur la première page mais quand je clique sur page 2, rien ne s'affiche. Et si je reclique sur 1, pareil....

Je vous mets mon code sur le site dont vous parliez

http://pastebin.archlinux.fr/2155
a c 232 L Programmation
13 Septembre 2007 15:11:10

Salut,

Fais voir ta fonction affichePages()
a c 232 L Programmation
13 Septembre 2007 19:45:34

Là comme ça je ne vois pas le problème, est-ce que tu as le code généré ? Ou un lien vers ta page ?
a c 232 L Programmation
13 Septembre 2007 21:43:13

Quand j'ai fait une recherche pas genre sur les stickers, y'en a trois qui sont affichés...
13 Septembre 2007 22:50:54

oui j'ai remis la version dans la limitation de l'affichage...
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS