PHP ! probleme affichage pagination
dubuducu
Messages postés
391
Date d'inscription
Statut
Membre
Dernière intervention
-
Alain_42 Messages postés 5361 Date d'inscription Statut Membre Dernière intervention -
Alain_42 Messages postés 5361 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Voici mon probleme.Mon code affiche tres bien ma pagination et le resultat de ma requete (5 lignes) en page 1.
lorsque je clic sur page2 (liste.php?page=2) il ne m'affiche pas le reste de ma requete.
je fais appel a la fonction pagination dans pagination.php dont le code est ici : http://www.notoon.com/forums/showthread.php?t=153
Voici le code affichant mes requetes et ma pagination.
Si vous voyez une erreur dites le moi, svp je galère !
PS:
j'ai remplacé dans pagination.php index.php par ma page courante qui est liste.php
Voici mon probleme.Mon code affiche tres bien ma pagination et le resultat de ma requete (5 lignes) en page 1.
lorsque je clic sur page2 (liste.php?page=2) il ne m'affiche pas le reste de ma requete.
je fais appel a la fonction pagination dans pagination.php dont le code est ici : http://www.notoon.com/forums/showthread.php?t=153
Voici le code affichant mes requetes et ma pagination.
session_start(); include('bdd.php'); include ('pagination.php'); $b = $_POST['thematique_projet']; $_SESSION['b'] = $b; $k = $_SESSION['k']; $entrees_par_page = 5; if(!isset($_GET['page'])){ $page_courante = 1; // si aucune page n'existe dans l'URL, on attribue 1 à la page courante } else { $page = $_GET['page']; if ($page<1) $page_courante=1; // on ne peut avoir de page inférieure à 1 : dans ce cas la valeur par défaut est 1 elseif ($page>$total_pages) $page_courante=$total_pages; // on ne peut avoir de page supérieure au nombre total de pages : dans ce cas la valeur par défaut est la dernière page else $page_courante=$page; // sinon la page courante est celle indiquée dans l'URL } $start = ($page_courante * $entrees_par_page - $entrees_par_page); if ( ($a == 'null')) { if ($b == 'null') { $sql_entree = "SELECT * FROM devis_table WHERE sous_categorie = '" . $k . "' ORDER BY '" . $a ."' "; $result_entree = mysql_query( $sql_entree) or die( "Erreur : " . mysql_error() ); $sql = "SELECT * FROM devis_table WHERE sous_categorie = '" . $k . "' ORDER BY '" . $a ."' LIMIT $start, $entrees_par_page "; $result = mysql_query( $sql) or die( "Erreur : " . mysql_error() ); $nb_entrees = mysql_num_rows($result_entree); $total_pages = ceil($nb_entrees/$entrees_par_page); } else $sql_entree = "SELECT * FROM devis_table WHERE thematique_projet = '" . $b . "' ORDER BY '" . $a ."' "; $result_entree = mysql_query( $sql_entree) or die( "Erreur : " . mysql_error() ); $sql = "SELECT * FROM devis_table WHERE thematique_projet = '" . $b . "' ORDER BY '" . $a ."' LIMIT $start, $entrees_par_page "; $result = mysql_query( $sql) or die( "Erreur : " . mysql_error() ); $nb_entrees = mysql_num_rows($result_entree); $total_pages = ceil($nb_entrees/$entrees_par_page); } else { $sql_entree = "SELECT * FROM devis_table WHERE departement = '" . $a . "' AND thematique_projet = '" . $b . "' ORDER BY '" . $a ."' "; $result_entree = mysql_query( $sql_entree) or die( "Erreur : " . mysql_error() ); $sql = "SELECT * FROM devis_table WHERE departement = '" . $a . "' AND thematique_projet = '" . $b . "' ORDER BY '" . $a ."' LIMIT $start, $entrees_par_page "; $result = mysql_query( $sql) or die( "Erreur : " . mysql_error() ); $nb_entrees = mysql_num_rows($result_entree); $total_pages = ceil($nb_entrees/$entrees_par_page); } if ( $thematique_projet == 'null') { echo"<b><center>Votre Recherche porte sur <br> $k / Toutes les Thematiques <br><br><br></center></b>\n"; } else { echo"<b><center>Votre Recherche porte sur <br> $k / $thematique_projet <br><br><br></center></b>\n"; } if($result) { // debut du tableau echo '<form action="confirmation.php" method="post">'; echo '<font size="2" face="Arial" >'; echo '<table bgcolor="#FFFFFF" border="0" align="center">'."\n"; // première ligne on affiche les titres dans 4 colonnes echo '<tr>'; echo '<td width="80" bgcolor="#3366ff"><b><u><font color="#FFFFFF">Devis n° :</font></u></b></td>'; echo '<td bgcolor="#3366ff"><b><u><font color="#FFFFFF">Département </font></u></b></td>'; echo '<td bgcolor="#3366ff"><b><u><font color="#FFFFFF">Commentaires</font></u></b></td>'; echo '<td bgcolor="#3366ff"><b><u><font color="#FFFFFF">Clics Restants</font></u></b></td>'; echo '<td bgcolor="#3366ff"><b><u></u></b></td>'; echo '</tr>'."\n"; // lecture et affichage des résultats sur 4 colonnes, 1 résultat par ligne. $i=0; $timeout = 604800; $heure = time(); echo '<ul>'; while($row = mysql_fetch_array($result)) { if ( ( $heure < ($row['time'] + $timeout )) || ( $row['time'] == "0" )) if ( $row['clic'] != "0" ) { { echo '<tr>'; echo '<td width="80" bgcolor="#e8e2e2">'.$row[id].'</td>'; echo '<td bgcolor="#e8e2e2">'.$row[departement].'</td>'; echo '<td bgcolor="#e8e2e2">'.$row[commentaires].'</td>'; echo '<td bgcolor="#e8e2e2">'.$row[clic].'</td>'; echo '<td><input type="checkbox" name="option'.$i.'" value="'.$row[id].'">acheter</td>'; echo '</tr>'; $i = $i+1; echo '<tr>'; echo '<td></td>'; echo '<td bgcolor="#e8e2e2"><h5><i>Ajouté le :<br> </h5></i></td>'; echo '<td bgcolor="#e8e2e2"><h5><i>'.$row[Date].'</h5></i></td>'; echo '<td bgcolor="#e8e2e2"><h5><i>'.$row[objet_message2].'</h5></i></td>'; echo '<td></td>'; echo '</tr>'; echo '<input type="hidden" name="variable" value="'.$i.'">'; } } } echo "</ul>\n"; echo '</table>'."\n"; echo "<input type='submit' value='Commander Devis' /></form>"; echo '</font>'; // fin du tableau. } else { echo 'Pas d\'enregistrements dans cette table...'; } echo '<center>'."\n"; echo pagination($total_pages,$page_courante); echo '</center>'."\n";
Si vous voyez une erreur dites le moi, svp je galère !
PS:
j'ai remplacé dans pagination.php index.php par ma page courante qui est liste.php
A voir également:
- PHP ! probleme affichage pagination
- Pagination powerpoint - Guide
- Affichage double ecran - Guide
- Easy php - Télécharger - Divers Web & Internet
- Problème affichage fenêtre windows 10 - Guide
- Windows 11 affichage classique - Guide
6 réponses
est-ce que quelqu'un peut vraiment m'aider, voici mon adresse msn pour que je puisse lui envoyer mes 2 pages afin de trouver cette erreur.ce n'est pas facil a travers cette interface ! Merci
dubuducu@hotmail.com
dubuducu@hotmail.com
Sil vous plait, cela vous prendra 20 secondes avec vos yeux d'expert ! je passe sur mes fautes,sans les voir !
Salut,
à mon avis tu as un pb la:
$start = ($page_courante * $entrees_par_page - $entrees_par_page);
exemple 11 entrées et 5 entrées par page
page courante=1
=> 1 * 5 - 5 =0
page courante=2
=> 2 * 5 - 5 =5
or tes enregistrements commencent à zéro ou à un ?
mets des parenthèses et rajoute speut être 1
à mon avis tu as un pb la:
$start = ($page_courante * $entrees_par_page - $entrees_par_page);
exemple 11 entrées et 5 entrées par page
page courante=1
=> 1 * 5 - 5 =0
page courante=2
=> 2 * 5 - 5 =5
or tes enregistrements commencent à zéro ou à un ?
mets des parenthèses et rajoute speut être 1
$start = (1+($page_courante * $entrees_par_page) - $entrees_par_page);
Merci Alain, c'est pas bête du tout, je n'ya avait pas pensé.je teste ceci desuite et je te tiens informé !
Vraiment merci d'avoir passé du temps a cherché!
Ce forum est vraiment une mine d'or pour les débutants comme moi !
Vraiment merci d'avoir passé du temps a cherché!
Ce forum est vraiment une mine d'or pour les débutants comme moi !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bon resultat du tiercé : toujours le meme probleme (qui est qu'en deuxieme page ma requete ne renvoi plus de données, le tableau est vide ! ) je desespere !
meme avec :
Merci
meme avec :
$start = (1+($page_courante * $entrees_par_page) - $entrees_par_page);
Merci
j'ai un peu de mal a comprendre tout ce code du tuto mais effectivement le calcul n'est pas trop semblable!
en meme temps, le calcul je l'ai trouvé sur un article qui disait que cela fonctionnait !
j'invente rien moi, j'essaye de comprendre et d'evoluer !
donc la je teste tout depuis deux jours, j'en peut plus !!
en meme temps, le calcul je l'ai trouvé sur un article qui disait que cela fonctionnait !
j'invente rien moi, j'essaye de comprendre et d'evoluer !
donc la je teste tout depuis deux jours, j'en peut plus !!
Je n'ai pas la BDD donc je ne peux pas tester ton code;
mets des { }
if(!isset($_GET['page'])){
$page_courante = 1; // si aucune page n'existe dans l'URL, on attribue 1 à la page courante
} else {
$page = $_GET['page'];
if ($page<1) $page_courante=1; // on ne peut avoir de page inférieure à 1 : dans ce cas la valeur par défaut est 1
elseif ($page>$total_pages) $page_courante=$total_pages; // on ne peut avoir de page supérieure au nombre total de pages : dans ce cas la valeur par défaut est la dernière page
else $page_courante=$page; // sinon la page courante est celle indiquée dans l'URL
}
ensuite tu utilises dans les lignes ci dessus la variable $total_pages
alors que cette dernière est calculée et intialisée plus bas dans le script, c'est pas bon
Je ne pense pas que ce script fonctionne tel quel ou alors il nous manque le code de pagination.php
mets des { }
if(!isset($_GET['page'])){
$page_courante = 1; // si aucune page n'existe dans l'URL, on attribue 1 à la page courante
} else {
$page = $_GET['page'];
if ($page<1) $page_courante=1; // on ne peut avoir de page inférieure à 1 : dans ce cas la valeur par défaut est 1
elseif ($page>$total_pages) $page_courante=$total_pages; // on ne peut avoir de page supérieure au nombre total de pages : dans ce cas la valeur par défaut est la dernière page
else $page_courante=$page; // sinon la page courante est celle indiquée dans l'URL
}
if(!isset($_GET['page'])){ $page_courante = 1; // si aucune page n'existe dans l'URL, on attribue 1 à la page courante } else { $page = $_GET['page']; if ($page<1) { $page_courante=1; // on ne peut avoir de page inférieure à 1 : dans ce cas la valeur par défaut est 1 }elseif ($page>$total_pages){ $page_courante=$total_pages; // on ne peut avoir de page supérieure au nombre total de pages : dans ce cas la valeur par défaut est la dernière page }else{ $page_courante=$page; // sinon la page courante est celle indiquée dans l'URL } }
ensuite tu utilises dans les lignes ci dessus la variable $total_pages
alors que cette dernière est calculée et intialisée plus bas dans le script, c'est pas bon
Je ne pense pas que ce script fonctionne tel quel ou alors il nous manque le code de pagination.php