[résolu] PHP - Limiter l'affichage par page - au secours...
Dernière réponse : dans Programmation
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();
?>
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
Lassé par la pub ? Créez un compte
$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...
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...
pour un long code, tu peux le poster sur http://pastebin.archlinux.fr, ca permet d'avoir la colorisation et c'est plus lisible pour ceux qui t'aident.
et puis en indentant, ca facilite l'aide:
http://pastebin.archlinux.fr/1368
et puis en indentant, ca facilite l'aide:
http://pastebin.archlinux.fr/1368
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
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
Alors le lien vers mon site:
http://www.saachiweb.fr/stickhers/index.php
Si tu fais une recherche par genre et que tu choisis stickhers, normalement il y en a 3 et j'ai limité à 2, donc y'en a 2 qui s'affichent mais quand tu cliques sur 2, y'a rien et si tu reviens sur 1 y'a rien
je te remets le lien de mon fichier php car je l'ai modifié un peu
http://pastebin.archlinux.fr/2164
http://www.saachiweb.fr/stickhers/index.php
Si tu fais une recherche par genre et que tu choisis stickhers, normalement il y en a 3 et j'ai limité à 2, donc y'en a 2 qui s'affichent mais quand tu cliques sur 2, y'a rien et si tu reviens sur 1 y'a rien
je te remets le lien de mon fichier php car je l'ai modifié un peu
http://pastebin.archlinux.fr/2164
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :
- ForumPhp limiter page sql afficher les suivants
- solutionsPhp pagination limiter le nombre de page
- ForumPhp limiter le nombre de caractere
- ForumPhp limiter nombre de caractere
- ForumPhp limiter affichage a 20 30 lignes
- ForumPhp limiter un compteur de visites
- ForumPhp limiter nombre de caractère
- ForumPhp limiter nombre caractere
- ForumAffichage d'accent dans une page php
- ForumAffichage page par page php
- Voir plus