variable $_GET dans une fonction

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : variable $_GET dans une fonction

Re: variable $_GET dans une fonction

par FuZZyLine » 28 oct. 2009, 21:11

Re,
Bonjour à tous
Tout d'abord, je tiens à remercier toutes les personnes qui ont contribué à la résolution de mon souci et
plus particulièrement à FuZZyLine qui m'a permis en quelque minute de résoudre mon problème avec son bout de code
[...]
après avoir modifié une par une ces variables HO miracle cela fonctionne, je redecouvre ma barre de pagination et qui plus ai fonctionne merveilleusement bien
Encore une fois MERCI à tous
Merci pour tous vos conseilles, que j'appliquerais a la lettre.
Grace a vous tous, j'aurais apris plein de choses.
Que ce problème soit résolu, c'est cool, mais qu'en plus tu en ais retiré une certaine expèrience je trouve
ca franchement satisfaisant. (Je t'avoue que ca me titillait un brin les neurones lol)
PS : FuZZyLine ce petit bout de code fera systematiquement partie de ma programation.
eh eh eh... ;)

J'y go, bonne continuation @+ ;)

Re: variable $_GET dans une fonction

par MF-M » 28 oct. 2009, 20:22

Bonjour à tous

Tout d'abord, je tiens à remercier toutes les personnes qui ont contribué à la résolution de mon souci et
plus particulièrement à FuZZyLine qui m'a permis en quelque minute de résoudre mon problème avec son bout de code
<?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);
?>
Mais une petite explication s'impose
En effet après avoir incéré le code de FuZZyLine, là l'horreur plusieurs variables n'étaient pas ou plus déclarées !!!!
Dans la fonction d'origine,
<?php
function pagination($current = '', $nb_page = '', $link = false, $arround = 3, $firstLast = 1) {
?>

la variable $current n'existe pas, il fallait la remplacer par $current_page (manqué _page)
la variable $nb_page n'existe pas, il fallait la remplacer par $nb_pages (manque un s)
la variable $arround n'existe pas, il fallait la remplacer par $around (un seul r)
la variable $firstLast n'existe pas, il fallait la remplacer par $firstlast (le l en minuscule)
il faillait écrire :
function pagination($current_page = '', $nb_pages = '', $link = false, $around = 3, $firstlast = 1){
après avoir modifié une par une ces variables HO miracle cela fonctionne, je redecouvre ma barre de pagination et qui plus ai fonctionne merveilleusement bien

Encore une fois MERCI à tous
Merci pour tous vos conseilles, que j'appliquerais a la lettre.
Grace a vous tous, j'aurais apris plein de choses.

PS : FuZZyLine ce petit bout de code fera systematiquement partie de ma programation.

Re: variable $_GET dans une fonction

par FuZZyLine » 28 oct. 2009, 11:02

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">&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;  
   }
  
   // 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'>&nbsp;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]; ?>&nbsp;&euro;/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 ;)

Re: variable $_GET dans une fonction

par MF-M » 27 oct. 2009, 22:36

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;

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

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
  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">&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;  
  }
  
  // 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'>&nbsp;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]; ?>&nbsp;&euro;/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>
cordialement

Re: variable $_GET dans une fonction

par FuZZyLine » 27 oct. 2009, 21:21

besoin d'aide, je dois m'embrouiller les pinceaux quelque part.
j'ai essayé, réessayé et réréessayé mais KO, je ni arrive pas
je post à nouveau le code, si quelqu'un peut m'aider a placer les accolades } car je commence a desespèrer
merci d'avance
Je crois me souvenir, d'après ton premier post, que tu n'as fais qu'ajouter le $_GET. Si le script
marche sans (et je crois que tu l'as précisé) ce n'est pas un problème d'accolades. ...simple suputation
demandant confirmation.

Si tu as toujours la version originale peux-tu la placer ici?
Non que t'auras une solution mais ca permétra d'y voir plus claire.

Assures toi de bien indenter ton script, je suis persuadé que tu y véras bien mieux.

Nota: Pour l'entête de la fonction, mettre un bool en argument me semble mieux...
mais, bon, affaire de gout ;)

Bon j'y go espérant que tu ais une réponse qui puisse solutionner le problème,
je reviendrai voir de temps en temps ou tu en es, @+ ;)

Re: variable $_GET dans une fonction

par MF-M » 26 oct. 2009, 22:53

besoin d'aide, je dois m'embrouiller les pinceaux quelque part.
j'ai essayé, réessayé et réréessayé mais KO, je ni arrive pas

je post à nouveau le code, si quelqu'un peut m'aider a placer les accolades } car je commence a desespèrer
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  <link rel="stylesheet" TYPE="text/css" href="css/style.css" />
</head>
<body>
  <table width="560" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td>
        Nos tissus :
      </td>
    </tr>
  </table>
<?php   
  function pagination($current = '', $nb_page = '', $link = '', $arround=3, $firstLast=1) {    
  $value = '?menu=4&cat='.$_GET['cat'].'&page=%d';  
  $link = (empty($link)) ? $value : $link;
  
  $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">&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;  
  }
  // 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 = 35;   
  // 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'>&nbsp;Erreur sur la page affiche_liste_art.php - (ligne 83).</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]; ?>&nbsp;&euro;/m" border="0" width="75" height="60" /></a>  
    <br />
      <center><?php echo $row[1]; ?></center>
  </div>
<?php
  }
  mysql_close();
?>
  <div class="pagination">
    <?php
    $page = (isset($page)) ? trim($page) : null;
    $nb_pages = (isset($nb_pages)) ? trim($nb_pages) : null;
    if(!empty($page) && !empty($nb_pages)) {
    echo pagination($page, $nb_pages);
    }
    else {
    echo 'Lien Invalide';
    }
    ?>
  </div>
</body>
</html>
merci d'avance

Re: variable $_GET dans une fonction

par fab » 26 oct. 2009, 21:42

dr@ke a bien vu, je pense que le problème principal de ta fonction c'est une histoire d'accolades!
Tu utilises des if et else sans, mais connais-tu la différence? Quand tu mets pas d'accolades SEULE la première instruction qui suit le if est pris en compte comme appartenant à la fonction.
Par exemple :
$var = 'a';
if($var == 'b')
   echo 'Un';
   echo 'Deux';
Va t'afficher : Deux

Donc si tu veux que plusieurs lignes appartiennent à la condition il faut utiliser les }

Re: variable $_GET dans une fonction

par Dr@ke » 26 oct. 2009, 21:36

Déjà:
Met des accolades avec tes if,ifelse et else...

Re: variable $_GET dans une fonction

par MF-M » 26 oct. 2009, 21:22

Comment y remédier ?

Re: variable $_GET dans une fonction

par Dr@ke » 26 oct. 2009, 20:51

Donc ta variable $pagination est vide au moment ou ta fonction envoie sa valeur a ton echo pour afficher le lien.
Donc Normal que cela n'affiche rien.

[EDIT]
Petit conseil: Met des accolades avec tes if,ifelse et else...

Re: variable $_GET dans une fonction

par MF-M » 26 oct. 2009, 20:13

Voici le résultat affiché à ton code
string(0) "" Variable $pagination:

Re: variable $_GET dans une fonction

par Dr@ke » 26 oct. 2009, 18:34

Juste avant le return $pagination; , juste pour tester le temps de trouver l'erreur:
echo ' Variable $pagination: ' . var_dump($pagination);
Pour les autres variables, tu peux utiliser la même technique pour savoir a quoi correspond ce que tu affiches...
Et ce même si cela n'affiche rien du tout...
En faisant comme cela, tu vas découvrir quelles variables font défaut et ainsi pouvoir détecter et corriger l'erreur...

Re: variable $_GET dans une fonction

par MF-M » 26 oct. 2009, 18:18

Excuse-moi Dr@ke, j'avais sauté une étape, je n'avais pas vu ton message précédent
J'ai placé ton bout de code et : même resultat pas de barre ni de message Lien Invalide

J'espère avoir bien compris lorsque tu me demandais de faire un echo des varaiables
J'ai donc fait un echo des 5 variables à chaque ligne de la page
echo $current."<br />";
echo $nb_page."<br />";
echo $link."<br />";
echo $arround."<br />";
echo $firstLast;
juste après ton code j'affiche les différentes valeur :
1
2
?menu=4&cat=2&page=%d
3
1
et rien entre
if ($nb_pages > 1){
--- code ---
}
juste avant return j'affiche a nouveau les valeurs de variables

j'espère que ca pourra t'aider car moi il y a longtemps que je suis larguer

Re: variable $_GET dans une fonction

par Dr@ke » 26 oct. 2009, 17:24

Ce n'est pas toto qui faut afficher mais le contenu des variables au fur et à mesure de ton code, pour vérifier l'exécution de ton code...

Sinon remplace le bout de code que je t'ai donné dans mon précédent message, cela sécurisera au moins cette partie la.
Restera plus si cela ne t'affiche pas "Lien Invalide", de chercher l'erreur dans ta fonction...

Re: variable $_GET dans une fonction

par MF-M » 26 oct. 2009, 17:20

En placant un echo "toto"; juste après ton code, toto s'affiche en bas à la place de la barre de pagination
après quelque soit l'emplacement de echo "toto"; entre :
  $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">&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>';  
    }
rien
si je place un echo "toto"; entre
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'>&nbsp;Erreur sur la page affiche_liste_art.php - (ligne 85).</font>");
  $i = 0;
  while($row = mysql_fetch_row($result)){
  $i++;
  echo "toto";
?>
  <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]; ?>&nbsp;&euro;/m" border="0" width="75" height="60" /></a>  
    <br />
      <center><?php echo $row[1]; ?></center>
  </div>
<?php
  }
  mysql_close();
?>
  <div class="pagination">
    <?php echo pagination($page, $nb_pages); ?>
  </div>
</body>
</html>          
toto aparait un fois en haut de la page ou plusieurs fois si je l'incère dans la boucle while