Affichage page par page

jojobrun
Invité n'ayant pas de compte PHPfrance

07 sept. 2005, 22:15

Salut,
je voudrais faire un affichage page par page. J'ai récupéré un tut sur phpdébutant que j'essaye d'appliquer mais il me sort une erreur :
Fatal error: Call to undefined function: veriflimite() in /home/wwwsam9/public_html/newsr.php on line 223


Je me connecte à la base.
$connect = mysql_connect("$host", "$user", "$pass"); 
$mabase= mysql_select_db($bdd);
Et commence le merdier

$nombre=5;
		if (!$limite) $limite=0;
$select='select count(idnewsr)FROM newsr';
		






   $result=mysql_query($select,$connect); 
 //$total= mysql_num_rows($result);
 $row=mysql_fetch_row($result);
$total= $row[0];
$verifLimite= verifLimite($limite,$total,$nombre);
// si la limite passée n'est pas valide on la remet à zéro
if(!$verifLimite)  {
    $limite = 0;
}


$select='SELECT titrenewsr, photonewsr, textenewsr, idnewsr FROM newsr ORDER BY idnewsr DESC limit '.$limite.','.$nombre;
$result=mysql_query($select,$connect);
		while($row=mysql_fetch_array($result)){
		
 $titrenewsr=$row['titrenewsr'];
 $photonewsr=$row['photonewsr'];
  $textenewsr=$row['textenewsr'];
  $idnewsr=$row['idnewsr'];
  
 if (strlen($textenewsr)>$max_caracterenewsr)
 {
 $textenewsr = substr($textenewsr,0,$max_caracterenewsr);
 $position_espace=strrpos ($textenewsr," ");
 $textenewsr=substr($textenewsr,0,$position_espace);
 $textenewsr=$textenewsr ."...";
 }
echo'<table width=450  height=62  border=0 cellpadding=0 cellspacing=0 align=top valign=top>';
echo'          <tr>';
echo"            <td align=top> <img src=\"$photonewsr\"  height=100></td>";
 echo'        </tr>';
 echo'         <tr>';
 echo"          <td colspan=2>
 <span class='titrenewsr'>$titrenewsr</span><br>
 <span class='soustitrenewsr'><a href=article_newsr.php?cle=$idnewsr>$textenewsr</a></span><br></td><br>";
 echo'         </tr>';
echo'        </table>';
};
if ($total>$nombre){
affichePages ($nombre,$page,$total);
displayNextPreviousButtons($limite,$total,$nombre,$page);
}
Vous auriez une solution.
Le serveur est PhP4. Je sais pas si ca peut avoir une incidence sur les fonction "verif".

Merci

Mammouth du PHP | 19672 Messages

07 sept. 2005, 22:21

Dans le code que tu montres, je ne vois nulle part de fonction veriflimit() ni de ligne include ou require faisant appel à un fichier externe qui contiendrait cette fonction. Or l'erreur est explicite : tu fais appel à une fonction non définie.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

07 sept. 2005, 22:31

Bonsoir cyrano, ca va.
merci de m'aider
Elle est utilisé suivant Php sébutant au début du script.
$verifLimite= verifLimite($limite,$total,$nombre); 
// si la limite passée n'est pas valide on la remet à zéro 
if(!$verifLimite)  { 
    $limite = 0; 
} 

Mammouth du PHP | 19672 Messages

07 sept. 2005, 22:53

Utilisée oui, mais il faudrait également qu'elle soit définie au préalable: tu ne peux pas faire appel à une fonction qui n'existe pas. TU devrais donc avoir quelque part avec ces ligne quelque chose comme:
<?php
//....
function verifLimite($limite,$total,$nombre)
{
    //... instructions de la fonction
    return $variable_x;
}
//....
?>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

07 sept. 2005, 22:58

Dis moi, il n'y aurait pas kkchose de plus simple pour faire un affichage pag/pag. Tu penses que c'est la meilleure méthode pour faire ça.

Sinon t'as bien raison, je suis trop con j'avais pas vu qu'il faisait un include d'un fichier fonction.php.

Mammouth du PHP | 19672 Messages

07 sept. 2005, 23:14

Dis-toi que les méthodes proposées par les tutos de phpDebutant sont des méthodes simples à la portée d'un débutant. Il est difficile de faire plus simple. Mais ça ne doit pas pour autant te rebuter, ce n'est que de la logique. Si tu arrives à suivre le raisonnement de la procédure, ça te paraîtra moins compliqué.

Et si on résume : Naviguer en limitant le nombre d'élément par page implique :
  • savoir le nombre total d'éléments qu'on doit afficher;
  • Définir le nombre d'éléments par page et par conséquent connaitre le nombre total de pages;
  • Si ces éléments sont le résultat d'une requête, transmettre un paramètres à la page suivante ou précédente pour avoir le point de départ;
  • Savoir sur quelle page on est pour savoir si on doit afficher un lien [Suivant] ou [Précédent] ou rien du tout ou les deux;
Mélanger bien le tout et servir frais :langue: Fais toi des croquis au besoin pour essayer de visualiser le processus.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

07 sept. 2005, 23:32

Merci pour tes conseils.
Ca y est je suis arrivé a faire ce que je voulais.
Il me manquait bien une partie du script.

Si ca te dis, tu peux voir le site ce monter sur www.communicate.ae.
Il reste encore bcp de chose a faire mais ca commence a prendre forme.
Encore un MERCI