bonjour à tous,
je suis débutant autodidacte et je fais mon premier site en php.
voila j'ai une pagination que j"ai repris qui fonctionne très bien lorsque je l'utilise avec une requête.
mon problème est que sur la page j'ai plusieurs champ forme afin de sélectionné des options mais la pagination ne fonctionne plus.
voici le lien
http://dpk-mytosprod.com/pagesPHP/index_opttestcptr_2.php
je voudrais que lorsque je sélectionne un thèmes musical que la pagination s'actualise automatiquement et ceux pour tous.
merci pour votre aide et conseil car ces difficiles d'apprendre seul
voici le script
Code PHP :
<?php
// Numero de page (1 par défaut)
if( isset($_GET['page']) && is_numeric($_GET['page']) ) {
$page = $_GET['page'] ;
}else{
$page = 1;
// Nombre d'info par page
$pagination = 5;
// Numéro du 1er enregistrement à lire
$limit_start = ($page - 1) * $pagination;
$sql="
SELECT a.*, f.typezik, n.id_nouveaute_img, c.compositeurscrew
FROM compositeurs AS a
INNER JOIN compositeurs_style_zik AS f ON a.userid=f.ID
LEFT JOIN compositeurs_real AS c ON a.IDcompositeur= c.ID
LEFT JOIN compositeurs_nouveaute AS n ON a.id_nouveaute= n.ID
ORDER BY id DESC LIMIT $limit_start, $pagination ";
mysql_query('SET NAMES UTF8');
// Requête SQL
$resultat = mysql_query($sql);
}
/*-------------------------------------------------*/
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).'#haut" title="Page précédente">« Précédent</a>';
else
$pagination .= '<span class="prevnext disabled">« 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).'#haut">'.$i.'</a>';
}
// ... après pages début ?
if ( ($current_page-$around) > $firstlast+1 )
$pagination .= ' …';
// 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).'#haut">'.$i.'</a>';
}
// ... avant page nb_pages ?
if ( ($current_page+$around) < $nb_pages-$firstlast )
$pagination .= ' …';
// 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).'#haut">'.$i.'</a>';
}
// Lien suivant
if ( $current_page < $nb_pages )
$pagination .= ' <a class="prevnext" href="'.sprintf($link, ($current_page+1)).'#haut" title="Page suivante">Suivant »</a>';
else
$pagination .= ' <span class="prevnext disabled">Suivant »</span>';
}
return $pagination;
}
/*-------------------------------------------------*/
// Nb d'enregistrement total
$nb_total = mysql_query('SELECT COUNT(*) AS nb_total FROM compositeurs');
$nb_total = mysql_fetch_assoc($nb_total);
$nb_total = $nb_total['nb_total'];
// Pagination
$nb_pages = ceil($nb_total / $pagination);
// Affichage
//mysql_close();
echo '<div class="pagination" align="center">' . pagination($page, $nb_pages) . '<br/>';
echo 'page <strong> ' . $page. ' </strong>/ ' . $nb_pages . ' »Total d\'instru :<strong>' . $nb_total. '</strong> </div>';
?>
Code PHP :