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
<?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 .= '['.sprintf($link, $current_page-1).'#haut « Précédent]';
else
$pagination .= '« Précédent';
// Lien(s) début
for ( $i=1 ; $i<=$firstlast ; $i++ ) {
$pagination .= ' ';
$pagination .= ($current_page==$i) ? ''.$i.'' : '['.sprintf($link, $i).'#haut '.$i.']';
}
// ... 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 .= ''.$i.'';
else
$pagination .= '['.sprintf($link, $i).'#haut '.$i.']';
}
// ... 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) ? ''.$i.'' : '['.sprintf($link, $i).'#haut '.$i.']';
}
// Lien suivant
if ( $current_page < $nb_pages )
$pagination .= ' ['.sprintf($link, ($current_page+1)).'#haut Suivant »]';
else
$pagination .= ' Suivant »';
}
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 '
' . pagination($page, $nb_pages) . '
';
echo 'page ' . $page. ' / ' . $nb_pages . ' »Total d\'instru :' . $nb_total. '
';
?>
Afficher la suite