Probleme de Requete PHP

Fermé
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 - 4 juil. 2008 à 13:27
Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 - 4 juil. 2008 à 15:16
Bonjour,
je suis en train d'installer une pagination de style Flirck sur mon site.
Le probleme est dans l'affichage des données .
la premiere page(page courante) affiche correctement ce que je lui demande ( 5 entrées par page ) puis la page 2 m'affiche le tableau mais vide .. :( Déception !
Quel est donc mon erreur si vous la voyez ?

Page courante (liste.php)
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
		}	
	
	
	
if ( ($a == 'null'))
{

	if ($b == 'null')
	{
		
	$start = (1+($page_courante * $entrees_par_page) - $entrees_par_page);
	
	$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{

$start = (1+($page_courante * $entrees_par_page) - $entrees_par_page);
	
	$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
{	
$start = (1+($page_courante * $entrees_par_page) - $entrees_par_page);
	
$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);

}
....
// Partie affichage des données.(OK)
.....
//Affichage de ma pagination.(OK)

la fonction pagination (pagination.php) est telle que je l'ai trouvée sur le net, fonctionne aparament.j'ai simplement modifié le nom de ma page courante.

Merci pour vos observations!

3 réponses

Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 1 385
4 juil. 2008 à 14:08
Bonjour,

Peux-tu remplacer tes ordres $result = mysql_query( $sql) par echo "$sql" pour la première page et de même pour la deuxième page et ensuite copier/coller le résultat. Ceci devrait peut-être nous mettre sur la piste.
Merci d'avance
A plus
0
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 4
4 juil. 2008 à 14:44
pour ma deuxieme page ?!
je ne vois pas du tout...
ma page courante est liste.php puis les suivantes obtenues a l'aide de la pagination sont liste.php?page=2
etc !
je reste a ta disposition en esperant que je ne dise pas trop de conneries !

Merci
0
Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 1 385
4 juil. 2008 à 15:16
Bonjour,

Quand je dis la deuxième page, je voulais dire la deuxième fois que tu passe par ta requête sql, donc il suffit de remplacer $result = mysql_query( $sql) par echo "$sql" dans la page liste.php

A plus
0