Page 1 sur 1

gerer l'affichage

Posté : 27 juil. 2005, 17:40
par david
Bonjour,
Est ce que quelq'un peut completer mon code ou le modifier afin de me permettre de limiter le nombre des informations affichées par page.
<?
//gestion de la pagination
$limit = 3;
if (!isset($pp)){
  $pp=0;
}
if (isset($suite)){
  $pp = $pp+1;
}
if (isset($avant)){
  $pp = $pp-1;
}
$offset=$pp*$limit;
while(list($key,$val) = each($tab)){

   echo "<tr><td colspan='3'>";
   echo $key;
   echo "</td></tr>";

 }
     $previous = $pp-1;
     $next = $pp+1;
      $precedent = "<form name=ordre method=post action=./>";
      $precedent .= "<input type=hidden name=pp value=\"$pp\">";
      $precedent .= "<input type=hidden name=p value=\"$p\">";
      $precedent .= "<input type=hidden name=avant value=1>";
      $precedent .= "<input type='image' src=".$document_img."/btn_prec.gif alt='Precedent'>";
      $precedent .= "</form>";
      $suivant = "<form name=ordre method=post action=./>";
      $suivant .= "<input type=hidden name=pp value=$pp>";
      $suivant .= "<input type=hidden name=p value=\"$p\">";
      $suivant .= "<input type=hidden name=suite value=1>";
      $suivant .= "<input type='image' src=".$document_img."/btn_suiv.gif alt='Suivant'>";
      echo "<td align=center bgcolor=f6f6f6 width='80'>";
       echo "<td align=center bgcolor=f6f6f6 width='80'>";
      if ($previous >= 0){
        echo $precedent;
      } else echo "&nbsp;";
      echo "</td><td width='80' align=center bgcolor=f6f6f6 ><a class='text'>";
      if (($next*$limit)<sizeof($tab)) {
        $fin=$next*$limit;
      } else {
        $fin=sizeof($liste);
      }
      echo $pp*$limit." - ".$fin." ( ".sizeof($tab)." )";
      echo "</a></td><td align=center bgcolor=f6f6f6 width='80'>";
      if ( ($next*$limit)<sizeof($tab) ){
        echo $suivant;
      } else {echo "&nbsp;";}
?>

Posté : 27 juil. 2005, 17:43
par pjl
il ne manque pas une partie de ton code ?

et utilise la balise PHP quand tu postes du PHP.

Posté : 27 juil. 2005, 17:51
par kmeleon
Premièrement, idente ton code (utilise des tabulations afin de bien séparer les différents élément), ensuite, comme l'a dit pjl, utilise les balises php (edite ton message et clique sur le bouton php, copie ton code, et reclique sur le bouton), le code deviendra beaucoup plus clair.
Enfin, précise un peut ta question s'il te plaît :wink:...

pagination

Posté : 27 juil. 2005, 17:55
par david
<? 
//gestion de la pagination 
$limit = 3; 
if (!isset($pp)){ 
	$pp=0; 
} 
if (isset($suite)){ 
	$pp = $pp+1; 
} 
if (isset($avant)){ 
	$pp = $pp-1; 
} 
$offset=$pp*$limit; 
while(list($key,$val) = each($tab)){ 

	echo "<tr><td colspan='3'>"; 
	echo $key; 
	echo "</td></tr>"; 

} 

$previous = $pp-1; 
$next = $pp+1; 

$precedent = "<form name=ordre method=post action=./>"; 
$precedent .= "<input type=hidden name=pp value=\"$pp\">"; 
$precedent .= "<input type=hidden name=p value=\"$p\">"; 
$precedent .= "<input type=hidden name=avant value=1>"; 
$precedent .= "<input type='image' src=".$document_img."/btn_prec.gif alt='Precedent'>"; 
$precedent .= "</form>"; 

$suivant = "<form name=ordre method=post action=./>"; 
$suivant .= "<input type=hidden name=pp value=$pp>"; 
$suivant .= "<input type=hidden name=p value=\"$p\">"; 
$suivant .= "<input type=hidden name=suite value=1>"; 
$suivant .= "<input type='image' src=".$document_img."/btn_suiv.gif alt='Suivant'>"; 

echo "<td align=center bgcolor=f6f6f6 width='80'>"; 
echo "<td align=center bgcolor=f6f6f6 width='80'>"; 
if ($previous >= 0){ 
	echo $precedent; 
} 
else {echo "&nbsp;";}
 
echo "</td><td width='80' align=center bgcolor=f6f6f6 ><a class='text'>"; 
if (($next*$limit)<sizeof($tab)) { 
	$fin=$next*$limit; 
} 
else { 
	$fin=sizeof($liste); 
} 
echo $pp*$limit." - ".$fin." ( ".sizeof($tab)." )"; 
echo "</a></td><td align=center bgcolor=f6f6f6 width='80'>"; 

if ( ($next*$limit)<sizeof($tab) ){ 
	echo $suivant; 
} 
else {
	echo "&nbsp;";
} 
?>

Posté : 27 juil. 2005, 17:57
par mere-teresa
merci mere teresa

Posté : 27 juil. 2005, 17:58
par pjl
david, je te conseille instamment de prendre quelques jours de vacances et d'en profiter pour consulter un ophtalmo.
J'espère qu'il trouvera le problème de vison t'empéchant de voir la balise PHP.

Posté : 27 juil. 2005, 18:07
par Invité
Desolé, j'ai pas fais attention :(

Posté : 27 juil. 2005, 18:23
par pjl
Il manque une partie de ton code.
Tu as certaines variables qui ne sont pas défines.
Sinon, pour ta question, à priori, il faut que tu modifies cette ligne :
$limit = 3;