PHP Pagination
dubuducu
Messages postés
391
Date d'inscription
Statut
Membre
Dernière intervention
-
dubuducu Messages postés 391 Date d'inscription Statut Membre Dernière intervention -
dubuducu Messages postés 391 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
mon code m'affiche -5 a la valeur $start ... ce qui fait que mes requetes ne renvoient aucunes données ... Mon affichage est donc nul ! pouvez vous resoudre ceci sil vous plait ?
mon code m'affiche -5 a la valeur $start ... ce qui fait que mes requetes ne renvoient aucunes données ... Mon affichage est donc nul ! pouvez vous resoudre ceci sil vous plait ?
session_start(); include('bdd.php'); include ('pagination.php'); $b = $_POST['thematique_projet']; $_SESSION['b'] = $b; $k = $_SESSION['k']; $entrees_par_page = 5; $start = ($page_courante * $entrees_par_page - $entrees_par_page); if ( ($a == 'null')) { if ($b == 'null') { $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); $total_pages = ceil($nb_entrees/$entrees_par_page); } else $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); $total_pages = ceil($nb_entrees/$entrees_par_page); } else { $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); $total_pages = ceil($nb_entrees/$entrees_par_page); } echo "$start"; echo "$entrees_par_page";
A voir également:
- PHP Pagination
- Pagination powerpoint - Guide
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Sommaire avec pagination - Guide
- Le fichier de pagination est insuffisant pour terminer cette opération ✓ - Forum Matériel & Système
10 réponses
$page_courante * $entrees_par_page - $entrees_par_page
0 * 5 - 5 =-5
alors je c pas ce que tu veux afficher comme parametre
0 * (5-5) =0
0 * 5 - 5 =-5
alors je c pas ce que tu veux afficher comme parametre
0 * (5-5) =0
Où initialises-tu $page_courante ? Si ça vaut 0, c'est que probablement l'initialisation ne se fait pas correctement.
$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 = "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); $total_pages = ceil($nb_entrees/$entrees_par_page); } else $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); $total_pages = ceil($nb_entrees/$entrees_par_page); } else { $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); $total_pages = ceil($nb_entrees/$entrees_par_page); } echo "$start";echo "_"; echo "$entrees_par_page";echo "_"; echo "$total_pages";echo "_"; echo "$page_courante"; echo "_";
je ne sais pas ou placer mon if get page !!:!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
$page_courante la vau 0 ; je le voi nul par dans ton code; peut etre dans l'include?? modif: post trop tard ;)
hum ! jai donc ici un autre probleme . je calcule le nombre de ligne de ma requete alors qu'elle est limitée a 5 lignes .
c'est pour ca que j'obtien nombre_page = 1
car 5/5 = 1
que dois-je faire ?
c'est pour ca que j'obtien nombre_page = 1
car 5/5 = 1
que dois-je faire ?
Alors voila, j'ai donc fait deux requetes identiques sauf que pour l'une j'ai enlevé le limit ! ca me donne le bon nombre de page.
Mon nouveau probleme (y'en a pas mal aujourd'hui) est que lorsque j'appui sur page 2 (liste.php?page=2) rien ne s'affiche
Merci
Mon nouveau probleme (y'en a pas mal aujourd'hui) est que lorsque j'appui sur page 2 (liste.php?page=2) rien ne s'affiche
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(); 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 '</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";
Merci