Page 1 sur 1

Problème affichage pagination

Posté : 25 oct. 2010, 19:33
par orell1
Bonjour,

je viens de finir une pagination mais je ne trouve pas mon erreur... En effet tout fonctionne bien sauf l'affichage de la pagination en bas de page... les fonctions sont bien respectée, mes enregistrements s'affichent donc 10 par 10 mais la barre de navigation de la pagination refuse d'apparaitre !

Pouvez-vous me dire ce qui cloche s'il vous plait ?

Merci

voici le codage:
<?php

mysql_connect('serveur', 'user', pass');
mysql_select_db('base');

$sql = "SELECT COUNT(id) as nbFournisseurs FROM pefac_entreprises_coordonnees";
$req = mysql_query($sql) or die (mysql_error ());
$data=mysql_fetch_assoc($req);

$nbFournisseurs = $data['nbFournisseurs'];
$perPage = 10;
$nbPage = ceil($nbFournisseurs/$perPage);
echo $nbPage;

if(isset($_GET['p']) && $_GET['p']>0 && $_GET['p']<=$nbPage){
	$cPage = $_GET['p'];	
}
else{
	$cPage =1;
}

$sql = "SELECT nom_entreprise,code_postal,activite FROM pefac_entreprises_coordonnees ORDER BY id DESC LIMIT ".(($cPage-1)*$perPage).",$perPage";
$req = mysql_query($sql) or die(mysql_error());
echo "<ul>"; 
while($data=mysql_fetch_assoc($req)){
	
	echo '<li><a href=\'fichier.php?nom_entreprise='.stripslashes(mb_strtoupper($data[nom_entreprise])).'\'><img src="http://www.site.com/images/acces_fiche.png"  alt="Accéder à la fiche" height="25" align="absmiddle" />&nbsp; <a href=\'fichier.php?nom_entreprise='.stripslashes(mb_strtoupper($data[nom_entreprise])).'\'>'.mb_strtoupper($data[nom_entreprise]).'</a>&nbsp;&nbsp;';
	  		echo '<font size="2"><b>' .stripslashes($data[code_postal]).'</b></font>'.'&nbsp;&nbsp;';
						//echo $data[ville]."&nbsp;&nbsp;";
	  		echo '<font size="2">' .stripslashes($data[activite]).'</font>'.'</li>'.'<hr><br>';
			
}
echo "</ul>  ";

for($i=1;$i<=nbPage;$i++){
	if($i==$cPage){
		echo " $i /";
	}
	else{
		echo " <a href=\"index.php?p=$i\">$i</a> /";
	}
}
?>




Re: Problème affichage pagination

Posté : 25 oct. 2010, 19:44
par datesta
Bonjour,

Le $ est manquant.
for($i=1;$i<=$nbPage;$i++){
}

Re: Problème affichage pagination

Posté : 25 oct. 2010, 19:58
par orell1
c'est Magique ! ça fonctionne!

Merci beaucoup!
Bonne soirée!

Re: Problème affichage pagination

Posté : 25 oct. 2010, 21:55
par orell1
J'ai un autre petit soucis...
Est-ce que quelqu'un pourrait m'aider svp...?

En fait je n'arrive pas à trouver les liens d'affichage pour la pagination de bas de page...
Voici le code :
<?php
mysql_connect('serveur', 'user', 'mdp');
mysql_select_db('base');

$sql = "SELECT COUNT(id) as nbFournisseurs FROM pefac_entreprises_coordonnees";
$req = mysql_query($sql) or die (mysql_error ());
$nom_ent=mysql_fetch_assoc($req);

$nbFournisseurs = $nom_ent['nbFournisseurs'];
$perPage = 10;
$nbPage = ceil($nbFournisseurs/$perPage);
echo $nbPage;

if(isset($_GET['p']) && $_GET['p']>0 && $_GET['p']<=$nbPage){
	$cPage = $_GET['p'];	
}
else{
	$cPage =1;
}


	$conn = db_connect();
  	$sql = "SELECT * FROM ".ENTREPRISES_COORDONNEES." WHERE nom_entreprise like '%".$nom_entreprise."%' AND code_postal like '%".$code_postal."%' ORDER BY id DESC LIMIT ".(($cPage-1)*$perPage).",$perPage"; 
	$req = mysql_query($sql) or die(mysql_error());
  	$resultat = mysql_query($sql, $conn);
  	$result = mysql_query($sql, $conn);
  	
  		//---------------------------------- rechercher la date limite --------------------------------
  		$nom_ent = mysql_fetch_array($result);
  		$conn = db_connect();
  		$rech_sql = "SELECT * FROM ".ENTREPRISES_DOSSIERS." WHERE num_client = '$nom_ent[num_client]' ORDER BY id DESC LIMIT ".(($cPage-1)*$perPage).",$perPage"; 
		$req = mysql_query($sql) or die(mysql_error());
  		$resultat_rech = mysql_query($rech_sql, $conn);
  		$rech_date = mysql_fetch_array($resultat_rech);	
  		//---------------------------------------------------------------------------------------------
  		
  	if ($rech_date[date_limite] >= time()) {
  	
	  	echo "<ul>"; 
	  	
	  	while ($nom_ent = mysql_fetch_array($resultat)) {
			while($nom_ent=mysql_fetch_assoc($req)){
	  		echo '<li><a href=\'afficher_fournisseur.php?nom_entreprise='.addslashes(mb_strtoupper($nom_ent[nom_entreprise])).'\'>'.'<font size="2"><img src="http://www.site.com/images/acces_fiche.png"  alt="Accéder à la fiche" height="25" align="absmiddle" />&nbsp;&nbsp;<a href=\'afficher_fournisseur.php?nom_entreprise='.addslashes(mb_strtoupper($nom_ent[nom_entreprise])).'\'>'.'<font size="2">'.mb_strtoupper($nom_ent[nom_entreprise]).'</font>'.'</a>&nbsp;&nbsp;';
	  		echo '<font size="2"><b>'.$nom_ent[code_postal].'</b></font>'.'&nbsp;&nbsp;';
	  		//echo $nom_ent[ville]."&nbsp;&nbsp;";
	  		echo '<font size="2">'.stripslashes($nom_ent[activite]).'</font>'.'</li>'.'<hr><br>';
	  	}
	  	
	  	echo "</ul>";
		
	}
	}
  	else {
  		echo "Aucun r&eacute;sultat trouv&eacute; !";
  	}
	


for($i=1;$i<=$nbPage;$i++){
	if($i==$cPage){
		echo " $i /";
	}
	else{
		echo " <a href=\"afficher_fournisseur.php?nom_entreprise?p=$i\">$i</a> /";
	}
}
?>

Merci beaucoup!

Re: Problème affichage pagination

Posté : 26 oct. 2010, 11:46
par orell1
Personne ne voit ??? :(

Re: Problème affichage pagination

Posté : 26 oct. 2010, 12:04
par Cyrano
Il y a au moins un problème avec ta manière d'écrire certains éléments :
if($rech_date[date_limite] >= time())
$rech_date est un tableau associatif, mais tu inscris les index comme des constantes, selon ta configuration, l'erreur n'est probablement pas affichée, mais c'est quand même une erreur, tu devrais écrire :
if($rech_date['date_limite'] >= time())
Note la différence de coloration syntaxique, et fais pareil partout dans ton code.

Re: Problème affichage pagination

Posté : 26 oct. 2010, 12:21
par orell1
C'est noté! merci je vais corriger tout ça.

As-tu une idée du renseignement d'url que je peux mettre pour la navigation de ma pagination ?
Actuellement j'ai :
for($i=1;$i<=$nbPage;$i++){
        if($i==$cPage){
                echo " $i /";
        }
        else{
                echo " " <a href=\"module_recherche_fournisseur.php?nom_entreprise=$nom_entreprise&code_postal=$code_postal?p=$i\">$i</a> /";
        }
}
Le codage repère qu'il y a 26 pages de 10 enregistrements mais lorsque je veux cliquer sur la barre de navigation j'ai une erreur :

Résultat de votre recherche
Nombre de pages : 26
Aucun résultat trouvé ! 1 / 2 / 3 / 4 / 5 / 6 / 7 / 8 / 9 / 10 / 11 / 12 / 13 / 14 / 15 / 16 / 17 / 18 / 19 / 20 / 21 / 22 / 23 / 24 / 25 / 26 /

MERCI

Re: Problème affichage pagination

Posté : 26 oct. 2010, 13:29
par Cyrano
As-tu eu l'idée de jeter un coup d'œil sur ce tuto ? :-*

Re: Problème affichage pagination

Posté : 26 oct. 2010, 13:48
par orell1
Oui, j'ai regardé mais rien a fait que j'ai vu trouver mon url...
tout le reste fonctionne...
Je pense que c'est cette histoire d'url qui cloche... Mais comment faire... Je me gratte la tête là... :cry:

Re: Problème affichage pagination

Posté : 26 oct. 2010, 13:52
par Cyrano
Tu connais $_SERVER['PHP_SELF'] et $_SERVER['REQUEST_URI'] ?