Système de pagination ! AIDEZ MOI SVP !

Nouveau WRInaute
Bonsoir tout le monde,
Voila sa fait des jours que j'essaye de créer un système de pagination pour mon site sans résultats. Voici l'adresse de mon site http://www.daily-foot.com/ j'aimerai afficher 12 videos par page, dans mon index.php il ya ce code qui appel les vidéos qui s'affichent:
<?php

$related = mysql_query("SELECT * FROM videos ORDER BY id DESC ");

while($rows = mysql_fetch_array($related))
{
echo "
<div class='small-video'>
<a href='/video-" . $rows['id'] . ".html'>
<img class='imgPS' style='width:90px; height:67px;' src=" . $rows['image_url'] . "></a>
<div class='small-desc'><a href='/video-" . $rows['id'] . ".html'><font color='black'>" . $rows['title'] . "</font></a></div><br>
<a href='/video-" . $rows['id'] . ".html' class='viewPS' ><img src='http://www.daily-foot.com/img/view.png' border='0'/></a>
<p>Vues : ". $rows['vid_views'] ."</p></div>

";

}

?>
Voila j'ai essayé de suivre plusieurs tutos mais toujours sans aucun résultat, j'arrive a faire afficher le nombre de page (123..) mais dans la page d'accueil il n'y a pas une limite de 12 vidéos par page et quand on clique sur suivant ou précédent dans la pagination il n'y a aucun changement..
Alors merci de bien vouloir m'aider et Joyeux temps des fêtes à tous :mrgreen:
 
Nouveau WRInaute
Bon je viens de voir le tuto d'apres ce que j'ai compri j'ai modifier le code d'affichage de vidéos dans mon index.php par sa:
<?php

$related = mysql_query("SELECT * FROM videos");

while($rows = mysql_fetch_array($related))
{
echo "
<div class='small-video'>
<a href='/video-" . $rows['id'] . ".html'>
<img class='imgPS' style='width:90px; height:67px;' src=" . $rows['image_url'] . "></a>
<div class='small-desc'><a href='/video-" . $rows['id'] . ".html'><font color='black'>" . $rows['title'] . "</font></a></div><br>
<a href='/video-" . $rows['id'] . ".html' class='viewPS' ><img src='http://www.daily-foot.com/img/view.png' border='0'/></a>
<p>Vues : ". $rows['vid_views'] ."</p></div>

";

}
if( isset($_GET['page']) && is_numeric($_GET['page']) )
$page = $_GET['page'];
else
$page = 1;
// Nombre d'infos par page
$pagination = 10;
// Numéro du 1er enregistrement à lire
$limit_start = ($page - 1) * $pagination;

// Préparation de la requête
$sql = "SELECT * FROM videos LIMIT $limit_start, $pagination";
// Requête SQL
$resultat = mysql_query($sql);

// Traitement et affichage des données
while ( $donnee = mysql_fetch_assoc($resultat) ) {
echo $donnee['champ'];
}
// Nb d'enregistrement total
$nb_total = mysql_query('SELECT COUNT(*) AS nb_total FROM videos');
$nb_total = mysql_fetch_array($nb_total);
$nb_total = $nb_total['nb_total'];
// Pagination
$nb_pages = ceil($nb_total / $pagination);

echo '<p>[ Page :';
// Boucle sur les pages
for ($i = 1 ; $i <= $nb_pages ; $i++) {
if ($i == $page )
echo " $i";
else
echo " <a href=\"index.p?page=$i\">$i</a> ";
}
echo ' ]</p>';


?>
J'ai aussi mit la function pagination dans le fichier config.php:
function pagination($current_page, $nb_pages, $link='?page=%d', $around=3, $firstlast=1)
{
$pagination = '';
$link = preg_replace('`%([^d])`', '%%$1', $link);
if ( !preg_match('`(?<!%)%d`', $link) ) $link .= '%d';
if ( $nb_pages > 1 ) {

// Lien précédent
if ( $current_page > 1 )
$pagination .= '<a class="prevnext" href="'.sprintf($link, $current_page-1).'" title="Page précédente">&laquo; Précédent</a>';
else
$pagination .= '<span class="prevnext disabled">&laquo; Précédent</span>';

// Lien(s) début
for ( $i=1 ; $i<=$firstlast ; $i++ ) {
$pagination .= ' ';
$pagination .= ($current_page==$i) ? '<span class="current">'.$i.'</span>' : '<a href="'.sprintf($link, $i).'">'.$i.'</a>';
}

// ... après pages début ?
if ( ($current_page-$around) > $firstlast+1 )
$pagination .= ' &hellip;';

// On boucle autour de la page courante
$start = ($current_page-$around)>$firstlast ? $current_page-$around : $firstlast+1;
$end = ($current_page+$around)<=($nb_pages-$firstlast) ? $current_page+$around : $nb_pages-$firstlast;
for ( $i=$start ; $i<=$end ; $i++ ) {
$pagination .= ' ';
if ( $i==$current_page )
$pagination .= '<span class="current">'.$i.'</span>';
else
$pagination .= '<a href="'.sprintf($link, $i).'">'.$i.'</a>';
}

// ... avant page nb_pages ?
if ( ($current_page+$around) < $nb_pages-$firstlast )
$pagination .= ' &hellip;';

// Lien(s) fin
$start = $nb_pages-$firstlast+1;
if( $start <= $firstlast ) $start = $firstlast+1;
for ( $i=$start ; $i<=$nb_pages ; $i++ ) {
$pagination .= ' ';
$pagination .= ($current_page==$i) ? '<span class="current">'.$i.'</span>' : '<a href="'.sprintf($link, $i).'">'.$i.'</a>';
}

// Lien suivant
if ( $current_page < $nb_pages )
$pagination .= ' <a class="prevnext" href="'.sprintf($link, ($current_page+1)).'" title="Page suivante">Suivant &raquo;</a>';
else
$pagination .= ' <span class="prevnext disabled">Suivant &raquo;</span>';
}
return $pagination;
}
Mais sa ne marche pas regardez le résultat http://www.daily-foot.com/index.php on voit bien le nombre de page mais lorsqu'on clique sur la suivante ou la précédente rien ne change...
 
WRInaute accro
Ton lien de pagination renvoi cette url ça risque pas de fonctionner :

-http://www.daily-foot.com/index.php?page=3

echo '<p>[ Page :';
// Boucle sur les pages
for ($i = 1 ; $i <= $nb_pages ; $i++) {
if ($i == $page )
echo " $i";
else
echo " <a href=\"index.p?page=$i\">$i</a> ";
}
echo ' ]</p>'; 
 
Nouveau WRInaute
Cela ne change rien je viens de remplacer par index.php dans l'url mais c'est toujours la même chose la pagination ne marche pas
 
WRInaute accro
PHP:
<span class="syntaxdefault">$related </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> mysql_query</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"SELECT * FROM videos"</span><span class="syntaxkeyword">);<br /><br />while(</span><span class="syntaxdefault">$rows </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> mysql_fetch_array</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$related</span><span class="syntaxkeyword">))<br />{<br /></span><span class="syntaxdefault">echo </span><span class="syntaxstring">"<br /><div class='small-video'><br /><a href='/video-"</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $rows</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'id'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">".html'><br /><img class='imgPS' style='width:90px; height:67px;' src="</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $rows</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'image_url'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">"></a><br /><div class='small-desc'><a href='/video-"</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $rows</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'id'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">".html'><font color='black'>"</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $rows</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'title'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">"</font></a></div><br><br /><a href='/video-"</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $rows</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'id'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">".html' class='viewPS' ><img src='http://www.daily-foot.com/img/view.png' border='0'/></a><br /><p>Vues : "</span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $rows</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'vid_views'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxstring">"</p></div><br />"</span><span class="syntaxkeyword">;<br />}</span><span class="syntaxdefault"> </span>

ça c'est ce qui (semble) fabriquer la page. Où dans ce code sont pris en compte les variables qui permettent de définir la première vidéo affiché et la dernière ?

"SELECT * FROM videos" tu dois prendre en compte les variables d'indice de page pour LIMITer la requête en fonction du début et du nombre de vidéo que tu souhaite présenter.
 
Nouveau WRInaute
Je viens de mettre cette fonction pour limiter a 12 par page mais la pagination ne marche toujours pas
$related = mysql_query("SELECT * FROM videos ORDER BY id DESC LIMIT 12");

while($rows = mysql_fetch_array($related))
{
echo "
<div class='small-video'>
<a href='/videos.php?id=" . $rows['id'] . "'>
<img class='imgPS' style='width:90px; height:67px;' src=" . $rows['image_url'] . "></a>
<div class='small-desc'>" . $rows['title'] . "</div><br>
<a href='/videos.php?id=" . $rows['id'] . "' class='viewPS' ><img src='http://www.123buzz.tv/img/view.png' border='0'/></a>
<p>Vues : ". $rows['vid_views'] ."</p></div>
 
Discussions similaires
Réponses
3
Affichages
3K
mathieukassovitz
M
Haut