Salut,
Bonjour FuZZyLine
notre ami dr@ke a trouvé comment incerer la variable dans la fonction
function pagination($current = '', $nb_page = '', $link = '', $arround=3, $firstLast=1) {
$value = '?menu=4&cat='.$_GET['cat'].'&page=%d';
$link = (empty($link)) ? $value : $link;
function pagination($current = '', $nb_page = '', $link = false, $arround=3, $firstLast=1)
{
$value = "?menu=4&cat=".$_GET["cat"]."&page=%d";
$link = !$link ? $value : $link;
[...]
C'est plus pertinant, le résulat, bien qu'identique reste plus rapide ET marche suivant tes propos
précédents mais à toi de voir. Chacun ses gouts comme j'ai dis.
la variable $_GET['cat'] est bien prise en compte mais je n'affiche pas ma barre de pagination
alors qu'en mettant en dur une valeur à cat= tous fonctionne correctement, j'ai ma barre de pagination
Ce n'est donc pas un problème d'accolades... Si biensur (comme spécifié) tu n'as fais qu'ajouter le GET
Seule une comparaison de l'original sur ton script modifé pourra t'apporter une réponse.
Pose des tests ainsi:
// Ta valeur à tester dans un print_r ou un var_dump
print_r($ta_valeur);
die("Ligne : ".__LINE__);
Ci-dessous le code d'origne (celui qui fonctionne)
Je fait différentes manipulations, différents test mais comme précisé au tout début, je ne suis qu'un débutant, parfois difficile de lire et de mettre en oeuvre vos explications
T'en fais pas, je ne me considère pas comme un gourou du php lol
Me suis permis de ré-indenter/re-visiter ton script. On a chacun sa façon d'indenter, la mienne est celle-ci.
A toi de réindenter à ta manière.
<?php
// !!! IMPORTANT: Ajoute les lignes qui suivent
//
// Complément sur les erreurs, ajoute cette ligne en haut de ta page.
// Très utile lors du développement.
//
error_reporting(E_ALL | E_STRICT);
ini_set("display_error", 1);
function pagination($current_page, $nb_pages, $link='?menu=4&cat=2&page=%d', $around=3, $firstlast=1)
{
$pagination = '';
if (!ereg('%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">«
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).'">'.$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).'">'.$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).'">'.$i.'</a>';
}
// Lien suivant
if ($current_page < $nb_pages)
{
$pagination .= ' <a class="prevnext" href="'.sprintf($link, ($current_page+1)).'" title="Page suivante">Suivant
»</a>';
}
else $pagination .= ' <span class="prevnext disabled">Suivant »</span>';
}
return $pagination;
}
// 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 = 20;
// Numéro du 1er enregistrement à lire
$limit_start = ($page - 1) * $pagination;
// Nb d'enregistrement total
Connect_mySql();
$nb_total = mysql_query('SELECT COUNT(*) AS nb_total FROM article WHERE supArt='.$_GET['cat'].'');
$nb_total = mysql_fetch_array($nb_total);
$nb_total = $nb_total['nb_total'];
// Pagination
$nb_pages = ceil($nb_total / $pagination);
// liste des articles
Connect_mySql();
$query = "SELECT * FROM article WHERE supArt = ".$_GET['cat']." ORDER BY image ASC
LIMIT ".$limit_start.",".$pagination;
$result = mysql_query($query) or die("<font color='#006600'> Erreur sur la page affiche_liste_art.php
- (ligne 77).</font>");
$i = 0;
while($row = mysql_fetch_row($result))
{
$i++;
?>
<div class="content">
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?menu=4&art=<?php echo $row[0]; ?>"><img src="./admin/media_tissus/<?php echo $row[12]; ?>" title="<?php echo $row[3]; ?> €/m" border="0" width="106" height="85" /></a>
<br />
<center><?php echo $row[1]; ?></center>
</div>
<?php
}
mysql_close();
?>
<div class="pagination">
<?php echo "<center>".pagination($page, $nb_pages)."</center>"; ?>
</div>
Nota sur le script: J'en viens à me demander si vraiment le GET que tu veux mettre est utile...
Au vu de ce script le GET est assigné en amont puis traité. Autrement dit l'ajout que tu fais ne peut
qu'entrer en conflit avec celui déja traité.
Certe, c'est ma conclusion mais... Je dois pas être loin de la solution.
@+ bon code
