PHP Pagination

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 ?
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";
Configuration: Windows XP
Internet Explorer 6.0

10 réponses

  1. CapitainCo Messages postés 127 Statut Membre 61
     
    $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
  2. dubuducu Messages postés 395 Statut Membre 4
     
    bin justement page courante ca devait etre 1 .
    1 * 5 - 5 = 0 !!
    je ne sais vraiment pas :(
    0
  3. Sri Lumpa Messages postés 177 Statut Membre 69
     
    Où initialises-tu $page_courante ? Si ça vaut 0, c'est que probablement l'initialisation ne se fait pas correctement.
    0
  4. dubuducu Messages postés 395 Statut Membre 4
     
    $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 !!:!
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. CapitainCo Messages postés 127 Statut Membre 61
     
    $page_courante la vau 0 ; je le voi nul par dans ton code; peut etre dans l'include?? modif: post trop tard ;)
    0
  7. dubuducu Messages postés 395 Statut Membre 4
     
    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 ?
    0
  8. dubuducu Messages postés 395 Statut Membre 4
     
    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
    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
    0
  9. CapitainCo Messages postés 127 Statut Membre 61
     
    dsl mais je voi pas ton post en entier
    0
  10. dubuducu Messages postés 395 Statut Membre 4
     
    Mince et si tu copi colle le texte de celui ci dans un bloc note ?
    0
  11. dubuducu Messages postés 395 Statut Membre 4
     
    help please !
    je deteste quand ca fonctionne presque mais en fait ca fonctionne pas ... :(
    j'ai besoin d'un oeil nouveau sur mon code, mes erreurs je ne les voients plus.je passe dessus sans faire attention.

    Merci beaucoup
    0