Problème affichage pagination

Mammouth du PHP | 687 Messages

25 oct. 2010, 19:33

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> /";
	}
}
?>




Eléphant du PHP | 74 Messages

25 oct. 2010, 19:44

Bonjour,

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

Mammouth du PHP | 687 Messages

25 oct. 2010, 19:58

c'est Magique ! ça fonctionne!

Merci beaucoup!
Bonne soirée!

Mammouth du PHP | 687 Messages

25 oct. 2010, 21:55

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!

Mammouth du PHP | 687 Messages

26 oct. 2010, 11:46

Personne ne voit ??? :(

Mammouth du PHP | 19636 Messages

26 oct. 2010, 12:04

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.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 687 Messages

26 oct. 2010, 12:21

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

Mammouth du PHP | 19636 Messages

26 oct. 2010, 13:29

As-tu eu l'idée de jeter un coup d'œil sur ce tuto ? :-*
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 687 Messages

26 oct. 2010, 13:48

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:

Mammouth du PHP | 19636 Messages

26 oct. 2010, 13:52

Tu connais $_SERVER['PHP_SELF'] et $_SERVER['REQUEST_URI'] ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: