PHP Pagination
dubuducu
Messages postés
395
Statut
Membre
-
dubuducu Messages postés 395 Statut Membre -
dubuducu Messages postés 395 Statut Membre -
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
- Pagination google doc a partir de la page 3 ✓ - Forum Bureautique
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