Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour à tous,
je suis en train de tester le Tuto Flyingcow qui permet d'afficher les enregistrement d'une DB mysql en définissant le nombre des dits enregistement
après pas mal d'heure de creusage de tete pour l'adapter (j'ai surtout oublié de créer le fichier Fonction.php)
je suis arrivé a ce que cela fonction ou presque
les boutons pages suivante et précedentes ne fonctionnent pas il me renvoient un Url pas correct
que faudrait il changer pour qu'il fonctionne
url correct avec les numéro de page (la ca fonctionne nickel après qque modif) http://localhost/seb/index.php?page=results&limite=4
je mets le code du fichier fonctions.php que j'ai modifié
//récupération de $limite
if(isset($_GET['limite']))
$limite=$_GET['limite'];
else $limite=0;
function verifLimite($limite,$total,$nombre) {
// je verifie si limite est un nombre.
if(is_numeric($limite)) {
// si $limite est entre 0 et $total, $limite est ok
// sinon $limite n'est pas valide.
if(($limite >=0) && ($limite <= $total) && (($limite%$nombre)==0)) {
// j'assigne 1 à $valide si $limite est entre 0 et $max
$valide = 1;
}
else {
// sinon j'assigne 0 à $valide
$valide = 0;
}
}
else {
// si $limite n'est pas numérique j'assigne 0 à $valide
$valide = 0;
}
// je renvois $valide
return $valide;
}
function displayNextPreviousButtons($limite,$total,$nb,$page) {
$limiteSuivante = $limite + $nb;
$limitePrecedente = $limite - $nb;
echo '<table><tr>'."\n";
if($limite != 0) {
echo '<td valign="top">'."\n";
echo '<form action="'.$page.'" method="post">'."\n";
echo '<input type="submit" value="précédents">'."\n";
echo '<input type="hidden" value="'.$limitePrecedente.'" name="limite">'."\n";
echo '</form>'."\n";
echo '</td>'."\n";
}
if($limiteSuivante < $total) {
echo '<td valign="top">'."\n";
echo '<form action="'.$page.'" method="post">'."\n";
echo '<input type="submit" value="suivants">'."\n";
echo '<input type="hidden" value="'.$page.'?page=results&limite='.$limiteSuivante.'" name="limite">'."\n";
echo '</form>'."\n";
echo '</td>'."\n";
}
echo '</tr></table>'."\n";
}
function affichePages($nb,$page,$total) {
$nbpages=ceil($total/$nb);
$numeroPages = 1;
$compteurPages = 1;
$limite = 0;
echo '<table border = "0" ><tr>'."\n";
while($numeroPages <= $nbpages) {
echo '<td ><a href = "'.$page.'?page=results&limite='.$limite.'">'.$numeroPages.'</a></td>'."\n";
$limite = $limite + $nb;
$numeroPages = $numeroPages + 1;
$compteurPages = $compteurPages + 1;
if($compteurPages == 10) {
$compteurPages = 1;
echo '<br>'."\n";
}
}
echo '</tr></table>'."\n";
}
?>
Merci de m'expliquer ce qu'il faut modifier
bien à tous
Hors ligne
Bonjour,
Tout d'abord que dire d'un tel système^^. Moi perso je n'y avais jamais pensé, je l'avoue, mais je doute de sa pertinence lorsque l'a gestion d'un formulaire doit être intégré à la page car cela augmente le risque de conflits et sa complique inutilement mais ce n'est que mon avis.
Ensuite question lien de tes pages (puisque c'est cela qui ne fonctionne pas), il y a beaucoup de choses à dire.
- Au niveau navigation tu ne testes pas si la page courante est la dernière pour désactiver le next et idem pour la première pour désactiver le prev.
- Dans un contexte de gestion php seul, ta méthode oblige à passer à la fonction le lien de la page (tu as besoin de javascript pour ça donc pb). Or ta fonction ne prends en paramètre qu'un seul lien de page et elle sert à la fois pour un prev et un next, ce qui implique que la page précédente sera la même que la suivante.
- Pour corriger ce problème dans la construction du lien de ta page, une solution serait d'utiliser $page comme constante de lien par ex $page='livrep'; et si $nb corresponds au numéro de la page suivante, tu pourrais faire un truc du genre
Voilà pour l'essentiel
PS: Pour reprendre une expression appréciée par notre cher MK, l'exercice relève de la capilotraction
++
Dernière modification par Jc (07-11-2011 05:03:10)
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
pourquoi tant de code ?????????????????
après on s'étonne que vous vous perdiez
enfin moi, j'm'y perd
a++
Hors ligne
Pages :: 1