Php Code defaillant / pagination

Résolu/Fermé
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 - 3 juil. 2008 à 11:46
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 - 3 juil. 2008 à 13:01
Bonjour,
Mon code me pose certains soucis depuis quelques jours. pouvez vous m'eclaircir !

<?php

session_start();

require_once('config.php');
	require_once('verifications.php');
	include_once('haut.php');
	echo'<div align="center"><strong>Bienvenue dans votre espace membres '. $pseudo .' !</strong><br /><br />
	Votre e-mail : '. $email .'<br />
	Votre id : '. $id .'
	<br /><a href="profil.php">Modification du profil</a>
	<br /><a href="logout.php">Deconnexion</a></div>
	<br /><a href="index.php"><center><b>Retour Accueil</b></a><br></center><br></div>';
	?>

<?php
session_start();
include('bdd.php');
include ('pagination.php');
	
	$b = $_POST['thematique_projet'];	
	$_SESSION['b'] = $b;
	$k = $_SESSION['k'];
		
$entrees_par_page = 5; // nombre d'entrée à afficher par page
			 
if ( ($a == 'null'))
{
	if ($b == 'null')
	{
	 $sql = "SELECT * FROM devis_table  WHERE sous_categorie = '" . $k . "' ORDER BY '" . $a ."' $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 ."' $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 ."' $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);
}


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


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
    }




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 pagination($total_pages,$page_courante);
?> 




il m'affiche corectement le nombre de pages dans la pagination etc ... mais m'affiche tous les resulats de ma requete dans la premiere page !!! je voudrais qu'il y en ai seulement 5 ! Merci de votre aide
A voir également:

5 réponses

dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 4
3 juil. 2008 à 11:51
hum deja dans mes requetes j'ai oublié LIMIT ... !
c resolu mais il m'affiche
<b>Erreur : You have an error in your SQL syntax near ' 5 ' at line 1</b>
0
Sri Lumpa Messages postés 177 Date d'inscription mercredi 14 novembre 2007 Statut Membre Dernière intervention 1 juin 2010 68
3 juil. 2008 à 12:21
Euh... Pourrais-tu être plus précis sur les soucis que tu as (genre par exemple nous donner ta requête qui génère ton erreur, ce qui ne marche aps, etc...) car sinon on ne sera pas capable de te filer un coup de main.
0
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 4
3 juil. 2008 à 12:33
j'ai un souci avec le $start .
il m'affiche $start = -5 !!
cela voudrai dire que la page courante serait a 0 ( 0 * 5 - 5 = -5 ) Vois-tu ?
De plus, la pagination ne s'affiche pas, ce qui voudrai donc confirmer que la page courante n'est pas, reconnue !
Mon if Get[page] ne doit pas etre placé au bon endroit je pense !

Merci pour ton coup de main
0
Sri Lumpa Messages postés 177 Date d'inscription mercredi 14 novembre 2007 Statut Membre Dernière intervention 1 juin 2010 68
3 juil. 2008 à 12:39
Ok, j'avais aps fait gaffe que c'était le même sujet ici : http://www.commentcamarche.net/forum/affich 7208531 php pagination. Evite le double post si possible.

Même remarque que sur ton autre post, j'ai pas l'impression que tu initialise $page_courante avant de calculer $start, donc forcement, Apache l'analyse comme valant 0 ce qui te donne $start = -5
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 4
3 juil. 2008 à 13:01
effectivement, probleme resolu.
De plus j'ai du faire une autre requete sans le LIMIT pour compter le nombre d'entrées de ma requete.sinon cela medonnait le meme resultat que nombre_entree = 5 :)
MERCI
0