Afficher 30 résultats par pages

Mammouth du PHP | 687 Messages

06 oct. 2010, 15:54

C'est exact j'ai été un peu trop vite...

Voici ce que j'ai corrigé :
<?php


//--------les includes des fonctions permettent le bon fonctionnement du site--------------------
include "include_fns.php";
//-----------------------------------------------------------------------------------------------
$query = "SELECT COUNT(*) FROM pefac_entreprises_coordonnees";

$result = mysql_query($query) or die (mysql_error());

$compteur = mysql_fetch_row($result);
//-----------------------------------------------------------------------------------------------
//permet de savoir si le groupe a le droit d'acces a ce fichier
$fichier = "Entreprises";
$module_autoriser = rech_enreg_modules($groupe, $fichier);

 if ($module_autoriser)
{
//------------------------------------------------------------------------------------------------

//--------------------- si la session n'enregistre pas l'administreur ----------------------------
 if (!$_SESSION["administrateur"] && !$_SESSION["groupe"]) {
   	echo "<div id=\"message\">".ACCES_PAGE_INTERDITE." !<br />";
       	echo "<a href=\"index.php\">".RETOUR."</a></div><br />";
//-----------------------------------------------------------------------------------------

//--------------------- affichage du bas de page et quitte le programme -------------------
  	include "bas.php";
  	exit();
 }
//-----------------------------------------------------------------------------------------
 else {
//-----------------------------------------------------------------------------------------
   if (isset($_GET['nom_entreprise'])) {
	$nom_entreprise = $_GET['nom_entreprise'];
	$entreprise = rech_enreg_entreprise($nom_entreprise);
	
	//supprimer la plaquette et le logo lors de la suppression de l'entreprise
	$conn = db_connect();
  	$sql = "SELECT * FROM ".ENTREPRISES_DOSSIERS." where num_client = '$entreprise[num_client]'";
  	$result = mysql_query($sql, $conn);
  	$dossier = mysql_fetch_array($result);
  	
  	//supprimer la plaquette et le logo
	@unlink($dossier[logo]);
	@unlink($dossier[plaquette_pdf]);

	//suppression des coordonnees du dossier et des contacts de l'entreprise
	$conn = db_connect();
	$sql_coord = "delete from ".ENTREPRISES_COORDONNEES." where num_client = '$entreprise[num_client]'";
	$result_coord = mysql_query($sql_coord, $conn);

	$sql_doss = "delete from ".ENTREPRISES_DOSSIERS." where num_client = '$entreprise[num_client]'";
	$result_doss = mysql_query($sql_doss, $conn);

	$sql_cont = "delete from ".ENTREPRISES_CONTACTS." where num_client = '$entreprise[num_client]'";
	$result_cont = mysql_query($sql_cont, $conn);
   }
//-----------------------------------------------------------------------------------------

//-----------------------------------------------------------------------------------------
   if (isset($_GET['tri'])) {
	$tri = $_GET['tri'];
   }
   else {
	$tri = "num_saisie";
   }
//-----------------------------------------------------------------------------------------

//-----------------------------------------------------------------------------------------
 if ($groupe == "1" || $groupe == "2") {
  $conn = db_connect();
  $sql = "SELECT nom_entreprise, telephone, code_postal, num_dossier, date_limite, num_saisie FROM ".ENTREPRISES_COORDONNEES.", ".ENTREPRISES_DOSSIERS." WHERE ".ENTREPRISES_COORDONNEES.".num_client = ".ENTREPRISES_DOSSIERS.".num_client order by $tri asc"; 
  $result = mysql_query($sql, $conn);
  //$num_results = mysql_num_rows($result);

 }  
 else {
	 
	 
//-----------------------------------------------------------------------------------------	 
	 /* Paramètres de pagination */

$nb_nouv_par_page = 10;             /* Nombre de nouvelles qui seront affichées sur chaque page */

$url = "./gestion_liste_entreprise.php?page=";



/* On détermine quelle est la page qui est actuellement affichée */

$page_en_cours    = isset($_GET['page']) ? $_GET['page'] : 0;

$page_affichee    = ($page_en_cours + 1);


//------------------ l'administrateur ne peut voir que ce qu'il a cree --------------------
  $conn = db_connect();
  $sql = "SELECT nom_entreprise, telephone, code_postal, num_dossier, date_limite, num_saisie FROM ".ENTREPRISES_COORDONNEES.", ".ENTREPRISES_DOSSIERS." WHERE ".ENTREPRISES_COORDONNEES.".num_client = ".ENTREPRISES_DOSSIERS.".num_client AND username = '$administrateur' order by $tri asc"; 
  $result = mysql_query($sql, $conn);
  //$num_results = mysql_num_rows($result);
}
//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------

/* Exécution de la requête et récupération du résultat */

$resultat_1 = mysql_query($sql);

$nom_entreprise = mysql_result($resultat_1, 0);



/* Calcul du nombre total de pages : on arrondit à l'entier supérieur (ceil() ) */

$nb_pages = ceil($nom_entreprise / $nb_nouv_par_page);



/**

Nous disposons maintenant de suffisament d'éléments pour créer notre barre de navigation.

Première chose à vérifier : avons-nous plusieurs pages, et au moins une ?

 */

if($nb_pages > 0)

{

    /* On définit une variable qui contiendra les données de navigation */

    $barre_nav = "";

    /* Nous avons au moins une page : avons nous besoin d'une barre de navigation ? */

    if($nb_pages > 1)

    {

        /**

        Nous avons plusieurs pages: nous allons afficher successivement les liens vers

        les pages précédentes s'il y en a, la page en cours et les liens vers les pages

        suivantes. Nous aurons une barre sous la forme : 1 | 2 | 3 etc.. en liens clicables

        sauf pour la page en cours dont nous mettrons le chiffre en gras

         */

        if($page_en_cours > 0)

        {

            for($i = 0; $i < $page_en_cours; $i++)

            {

                $p = $i + 1;

                $barre_nav .= "<a href=\"". $url . $i ."\" title=\"page ". $p ."\">". $p ."</a> | ";

            }

        }

        /**

        On affiche la page en cours : notez le (+ 1) : pour les calculs, nous partons d'une

        page 0 mais pour l'internaute, il est préférable de commencer à la page 1, donc on incrémente

         */

        $barre_nav .= "<strong>". $page_affichee ."</strong>";

        /* Enfin on affiche (s'il y a lieu) les liens vers les pages suivantes */

        if(($page_affichee) < $nb_pages)

        {

            /* Il reste encore d'autres pages à afficher */

            $nb_suivantes = $nb_pages - ($page_affichee);

            for($j = ($page_affichee); $j < $nb_pages; $j++)

            {

                $p = $j + 1;

                $barre_nav .= " | <a href=\"". $url . $j ."\" title=\"page ". $p ."\">". $p ."</a>";

            }

        }

       

        /* On peut définir en plus la situation dans une autre variable à afficher ailleurs */

        $page_affichee = "Page ". $page_affichee ." sur un total de ". $nb_pages ." pages.";

    }

    else

    {

        /* Nous n'avons qu'une seule page, on peut se contenter d'afficher juste page 1/1 */

        $barre_nav .= "page 1/1";

    }

    /**

    On peut maintenant afficher notre page. On va commencer par récupérer les informations

    On doit définir à partir de quelle nouvelle on doit récupérer les données dans la clause LIMIT.

     */

    $debut = $page_en_cours * $nb_nouv_par_page;

    $sql_n = "SELECT nom_entreprise, telephone, code_postal, num_dossier, date_limite, num_saisie FROM ".ENTREPRISES_COORDONNEES.", ".ENTREPRISES_DOSSIERS." WHERE ".ENTREPRISES_COORDONNEES.".num_client = ".ENTREPRISES_DOSSIERS.".num_client AND username = '$administrateur' order by $tri asc LIMIT". $debut .", ". $nb_nouv_par_page .";";

   $result = mysql_query($sql, $conn);
		

?>

<p class="situation"><?php echo($page_affichee); ?></p>

<?php

    while($nouv = mysql_fetch_assoc($result))

    {

?>

<?php
//-----------------------------------------------------------------------------------------


//----------------------------- formulaire de la liste des entreprises --------------------

   	echo "<div><h1>Liste des entreprises</h1></div>";
   	echo "<div class='cadre_admin_page'>";
   	echo "<div>[   <a href='ajouter_entreprise.php'>Ajouter une nouvelle entreprise</a>   ]</div>";
	
//-----------------------------------------------------------------------------------------

//-----------------------------------------------------------------------------------------
   	echo "</div>";
   	echo "<div class='cadre_admin_page'>";
   	echo "<table border='0' align='center' cellspacing='1' cellpadding='1' width='100%' class='bordure'>";
   	echo "<tr>";
	echo '<center><b>Il y a '.$compteur[0].' sociétés référencées sur le site<b></center>'.'<br>';
	
   	echo "<th class='fond' width='30%'><b>Nom de l'&eacute;tablissement</b>&nbsp;&nbsp;<a href=\"?tri=nom_entreprise\"><img src=\"$dir_image/desc.gif\" alt=\"\" title=\"trier\" border=\"0\"></a></th>
		<th class='fond' width='8%'><b>T&eacute;l&eacute;phone</b></th>
		<th class='fond' width='11%'><b>Code postal</b>&nbsp;&nbsp;<a href=\"?tri=code_postal\"><img src=\"$dir_image/desc.gif\" alt=\"\" title=\"trier\" border=\"0\"></a></th>
		<th class='fond' width='8%'><b>R&eacute;f dossier</b></th>
		<th class='fond' width='7%'><b>&Eacute;ch&eacute;ance</b></th>
		<th class='fond' width='9%'><b>N&deg; de saisie</b></th>
		
		<th class='fond' width='10%' colspan='2'>&nbsp;</th>";
   	echo "</tr>";
 
 while ($rech_ent = @mysql_fetch_array($result)) {
	echo "<tr><td class='fond'><a href =\"ajouter_entreprise.php?nom_entreprise=".addSlashes(htmlentities($rech_ent[nom_entreprise]))."\">".stripSlashes(htmlentities($rech_ent[nom_entreprise]))."</a></td>";
	echo "<td class='fond'>".stripSlashes(htmlentities($rech_ent[telephone]))."</td>";
	echo "<td class='fond'>".stripSlashes(htmlentities($rech_ent[code_postal]))."</td>";
	echo "<td class='fond'><a href =\"dossier_entreprise.php?num_dossier=$rech_ent[num_dossier]&nom_entreprise=$rech_ent[nom_entreprise]\">".stripSlashes(htmlentities($rech_ent[num_dossier]))."</a></td>";
	echo "<td class='fond'>".stripSlashes(htmlentities(date("d/m/Y", $rech_ent[date_limite])))."</td>";
	echo "<td class='fond'>".stripSlashes(htmlentities($rech_ent[num_saisie]))."</td>";
	echo "<td class='fond'><a href =\"contact_entreprise.php?nom_entreprise=".addSlashes(htmlentities($rech_ent[nom_entreprise]))."\">CONTACTER</a></td>";
	echo "<td class='fond'><a href =\"".$_SERVER['PHP_SELF']."?nom_entreprise=".addSlashes(htmlentities($rech_ent[nom_entreprise]))."\" onclick=\"return confirm('Attention, vous allez supprimer ".addSlashes(htmlentities($rech_ent[nom_entreprise]))." voulez vous continuer ?')\">SUPPRIMER</a></td></tr>";
 }
	echo "</table>";
//---------------------------------------------------------------------------------------------
	echo "</div>" ;
//--------------------- affichage du bas de page et quitte le programme -----------------------
	echo "<div class='cadre_admin_page'>";
    	echo "<center><a href='menu_admin.php'>".RETOUR."</a></center>";
	echo "</div>";
	echo "<br />";
    include "bas.php";
  }
}
//--------------------------------------------------------------------------------------------
 else
{
	echo "<div id=\"message\">".ACCES_PAGE_INTERDITE." !<br />";
       	echo "<a href=\"index.php\">".RETOUR."</a></div><br />";
//-----------------------------------------------------------------------------------------------

//---------------- affichage du bas de page et quitte le programme ------------------------------
 include "bas.php";
 exit();
}

//-----------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------
/* on libère la mémoire */

    mysql_free_result($resultat_1);

    mysql_free_result($result);

    /* On peut fermer la connexion à MySQL */

    mysql_close($connexion);

    /* On affiche maintenant la barre de navigation */

?>

<p class="navigation"><?php echo($barre_nav); ?></p>

<?php

}

else

{

    /**

    Nous n'avons aucune page, on peut alors afficher un message autre

    sans devoir nous préoccuper de la navigation

     */

?>
<?php

}

?>

Toujours cette erreur : Parse error: syntax error, unexpected T_ELSE in /homez.333/./www/./gestion_liste_entreprise.php on line 331

:cry:

ViPHP
ViPHP | 3607 Messages

06 oct. 2010, 16:02

Ton erreur indique que tu as mal refermé un if() comme l'a déjà dit stealth35
Après ça n'est pas parce que tu as changé le nom de ta variable de requête sql, que ça va mieux marcher, la première requête exécuté dans le tutoriel est une requête de "comptage"...
Elle ne doit retourner qu'un nombre de résultats...
Donc ton code n'est pas encore prête d'être juste :/

Tu as lu tout les commentaires du code source du tutoriel?

Mammouth du PHP | 687 Messages

06 oct. 2010, 17:06

Voila j'ai tout relu et cette fois_ci je n'ai plus une seule erreur! Comme quoi en lisant bien... :oops:
En revanche mes résultats ne s'affichent pas dans ma base... j'ai environ 260 enregistrements... J'ai laissé volontairement le message "Aucune nouvelle n'a encore été publiée à ce jour" de manière à voir si le test était concluant ou pas...

Mais on avance! Merci !
Ah oui j'ai aussi ajouté des : //-----------------------------------------------------------------------------------------//----------------------------------------------------------------------------------------- un peu partout, c'est normal c'est juste pour pouvoir repérer mes modifs...

Voici donc mon nouveau code :
<strong></strong>

<?php

//--------les includes des fonctions permettent le bon fonctionnement du site--------------------
include "include_fns.php";
//-----------------------------------------------------------------------------------------------
$query = "SELECT COUNT(*) FROM pefac_entreprises_coordonnees";

$result = mysql_query($query) or die (mysql_error());

$compteur = mysql_fetch_row($result);
//-----------------------------------------------------------------------------------------------
//permet de savoir si le groupe a le droit d'acces a ce fichier
$fichier = "Entreprises";
$module_autoriser = rech_enreg_modules($groupe, $fichier);

 if ($module_autoriser)
{
//------------------------------------------------------------------------------------------------

//--------------------- si la session n'enregistre pas l'administreur ----------------------------
 if (!$_SESSION["administrateur"] && !$_SESSION["groupe"]) {
   	echo "<div id=\"message\">".ACCES_PAGE_INTERDITE." !<br />";
       	echo "<a href=\"index.php\">".RETOUR."</a></div><br />";
//-----------------------------------------------------------------------------------------

//--------------------- affichage du bas de page et quitte le programme -------------------
  	include "bas.php";
  	exit();
 }
//-----------------------------------------------------------------------------------------
 else {
//-----------------------------------------------------------------------------------------
   if (isset($_GET['nom_entreprise'])) {
	$nom_entreprise = $_GET['nom_entreprise'];
	$entreprise = rech_enreg_entreprise($nom_entreprise);
	
	//supprimer la plaquette et le logo lors de la suppression de l'entreprise
	$conn = db_connect();
  	$sql = "SELECT * FROM ".ENTREPRISES_DOSSIERS." where num_client = '$entreprise[num_client]'";
  	$result = mysql_query($sql, $conn);
  	$dossier = mysql_fetch_array($result);
  	
  	//supprimer la plaquette et le logo
	@unlink($dossier[logo]);
	@unlink($dossier[plaquette_pdf]);

	//suppression des coordonnees du dossier et des contacts de l'entreprise
	$conn = db_connect();
	$sql_coord = "delete from ".ENTREPRISES_COORDONNEES." where num_client = '$entreprise[num_client]'";
	$result_coord = mysql_query($sql_coord, $conn);

	$sql_doss = "delete from ".ENTREPRISES_DOSSIERS." where num_client = '$entreprise[num_client]'";
	$result_doss = mysql_query($sql_doss, $conn);

	$sql_cont = "delete from ".ENTREPRISES_CONTACTS." where num_client = '$entreprise[num_client]'";
	$result_cont = mysql_query($sql_cont, $conn);
   }
//-----------------------------------------------------------------------------------------

//-----------------------------------------------------------------------------------------
   if (isset($_GET['tri'])) {
	$tri = $_GET['tri'];
   }
   else {
	$tri = "num_saisie";
   }
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------


/* Paramètres de pagination */

$nb_nouv_par_page = 1;             /* Nombre de nouvelles qui seront affichées sur chaque page */

$url = "./gestion_liste_entreprise.php?page=";



/* On détermine quelle est la page qui est actuellement affichée */

$page_en_cours    = isset($_GET['page']) ? $_GET['page'] : 0;

$page_affichee    = ($page_en_cours + 1);



/* Connexion au serveur de base de données */

$conn = db_connect();

mysql_select_db($sql);



/* Requête pour compter les nouvelles présentes dans notre base de données */

$sql_nb = "SELECT COUNT(*) FROM `ENTREPRISES_COORDONNEES`";



/* Exécution de la requête et récupération du résultat */

$resultat_1 = mysql_query($sql_nb);

$nb_entreprise = mysql_result($resultat_1, 0);



/* Calcul du nombre total de pages : on arrondit à l'entier supérieur (ceil() ) */

$nb_pages = ceil($nb_entreprise / $nb_nouv_par_page);



/**

Nous disposons maintenant de suffisament d'éléments pour créer notre barre de navigation.

Première chose à vérifier : avons-nous plusieurs pages, et au moins une ?

 */

if($nb_pages > 0)

{

    /* On définit une variable qui contiendra les données de navigation */

    $barre_nav = "";

    /* Nous avons au moins une page : avons nous besoin d'une barre de navigation ? */

    if($nb_pages > 1)

    {

        /**

        Nous avons plusieurs pages: nous allons afficher successivement les liens vers

        les pages précédentes s'il y en a, la page en cours et les liens vers les pages

        suivantes. Nous aurons une barre sous la forme : 1 | 2 | 3 etc.. en liens clicables

        sauf pour la page en cours dont nous mettrons le chiffre en gras

         */

        if($page_en_cours > 0)

        {

            for($i = 0; $i < $page_en_cours; $i++)

            {

                $p = $i + 1;

                $barre_nav .= "<a href=\"". $url . $i ."\" title=\"page ". $p ."\">". $p ."</a> | ";

            }

        }

        /**

        On affiche la page en cours : notez le (+ 1) : pour les calculs, nous partons d'une

        page 0 mais pour l'internaute, il est préférable de commencer à la page 1, donc on incrémente

         */

        $barre_nav .= "<strong>". $page_affichee ."</strong>";

        /* Enfin on affiche (s'il y a lieu) les liens vers les pages suivantes */

        if(($page_affichee) < $nb_pages)

        {

            /* Il reste encore d'autres pages à afficher */

            $nb_suivantes = $nb_pages - ($page_affichee);

            for($j = ($page_affichee); $j < $nb_pages; $j++)

            {

                $p = $j + 1;

                $barre_nav .= " | <a href=\"". $url . $j ."\" title=\"page ". $p ."\">". $p ."</a>";

            }

        }

       

        /* On peut définir en plus la situation dans une autre variable à afficher ailleurs */

        $page_affichee = "Page ". $page_affichee ." sur un total de ". $nb_pages ." pages.";

    }

    else

    {

        /* Nous n'avons qu'une seule page, on peut se contenter d'afficher juste page 1/1 */

        $barre_nav .= "page 1/1";

    }
//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
 if ($groupe == "1" || $groupe == "2") {
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
$debut = $page_en_cours * $nb_nouv_par_page;
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
  $conn = db_connect();
  $sql = "SELECT nom_entreprise, telephone, code_postal, num_dossier, date_limite, num_saisie FROM ".ENTREPRISES_COORDONNEES.", ".ENTREPRISES_DOSSIERS." WHERE ".ENTREPRISES_COORDONNEES.".num_client = ".ENTREPRISES_DOSSIERS.".num_client order by $tri asc LIMIT". $debut .", ". $nb_nouv_par_page .";"; 
  $result = mysql_query($sql, $conn);
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
   $entreprsises = mysql_query($sql_n);
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
  //$num_results = mysql_num_rows($result);
 }  
 else {
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------	 
	 
?>

<p class="situation"><?php echo($page_affichee); ?></p>

<?php

    while($nouv = mysql_fetch_assoc($nouvelles))

    {

?>
<?php
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------


//------------------ l'administrateur ne peut voir que ce qu'il a cree --------------------
  //-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
$debut = $page_en_cours * $nb_nouv_par_page;
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
  $conn = db_connect();
  $sql = "SELECT nom_entreprise, telephone, code_postal, num_dossier, date_limite, num_saisie FROM ".ENTREPRISES_COORDONNEES.", ".ENTREPRISES_DOSSIERS." WHERE ".ENTREPRISES_COORDONNEES.".num_client = ".ENTREPRISES_DOSSIERS.".num_client order by $tri asc LIMIT". $debut .", ". $nb_nouv_par_page .";"; 
  $result = mysql_query($sql, $conn);
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
   $entreprsises = mysql_query($sql_n);
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
  //$num_results = mysql_num_rows($result);
}
//-----------------------------------------------------------------------------------------
//----------------------------- formulaire de la liste des entreprises --------------------

   	echo "<div><h1>Liste des entreprises</h1></div>";
   	echo "<div class='cadre_admin_page'>";
   	echo "<div>[   <a href='ajouter_entreprise.php'>Ajouter une nouvelle entreprise</a>   ]</div>";
	
//-----------------------------------------------------------------------------------------

//-----------------------------------------------------------------------------------------
   	echo "</div>";
   	echo "<div class='cadre_admin_page'>";
   	echo "<table border='0' align='center' cellspacing='1' cellpadding='1' width='100%' class='bordure'>";
   	echo "<tr>";
	echo '<center><b>Il y a '.$compteur[0].' sociétés référencées sur le site<b></center>'.'<br>';
	
   	echo "<th class='fond' width='30%'><b>Nom de l'&eacute;tablissement</b>&nbsp;&nbsp;<a href=\"?tri=nom_entreprise\"><img src=\"$dir_image/desc.gif\" alt=\"\" title=\"trier\" border=\"0\"></a></th>
		<th class='fond' width='8%'><b>T&eacute;l&eacute;phone</b></th>
		<th class='fond' width='11%'><b>Code postal</b>&nbsp;&nbsp;<a href=\"?tri=code_postal\"><img src=\"$dir_image/desc.gif\" alt=\"\" title=\"trier\" border=\"0\"></a></th>
		<th class='fond' width='8%'><b>R&eacute;f dossier</b></th>
		<th class='fond' width='7%'><b>&Eacute;ch&eacute;ance</b></th>
		<th class='fond' width='9%'><b>N&deg; de saisie</b></th>
		
		<th class='fond' width='10%' colspan='2'>&nbsp;</th>";
   	echo "</tr>";
 
 while ($rech_ent = @mysql_fetch_array($result)) {
	echo "<tr><td class='fond'><a href =\"ajouter_entreprise.php?nom_entreprise=".addSlashes(htmlentities($rech_ent[nom_entreprise]))."\">".stripSlashes(htmlentities($rech_ent[nom_entreprise]))."</a></td>";
	echo "<td class='fond'>".stripSlashes(htmlentities($rech_ent[telephone]))."</td>";
	echo "<td class='fond'>".stripSlashes(htmlentities($rech_ent[code_postal]))."</td>";
	echo "<td class='fond'><a href =\"dossier_entreprise.php?num_dossier=$rech_ent[num_dossier]&nom_entreprise=$rech_ent[nom_entreprise]\">".stripSlashes(htmlentities($rech_ent[num_dossier]))."</a></td>";
	echo "<td class='fond'>".stripSlashes(htmlentities(date("d/m/Y", $rech_ent[date_limite])))."</td>";
	echo "<td class='fond'>".stripSlashes(htmlentities($rech_ent[num_saisie]))."</td>";
	echo "<td class='fond'><a href =\"contact_entreprise.php?nom_entreprise=".addSlashes(htmlentities($rech_ent[nom_entreprise]))."\">CONTACTER</a></td>";
	echo "<td class='fond'><a href =\"".$_SERVER['PHP_SELF']."?nom_entreprise=".addSlashes(htmlentities($rech_ent[nom_entreprise]))."\" onclick=\"return confirm('Attention, vous allez supprimer ".addSlashes(htmlentities($rech_ent[nom_entreprise]))." voulez vous continuer ?')\">SUPPRIMER</a></td></tr>";
 }
	echo "</table>";
//---------------------------------------------------------------------------------------------
	echo "</div>" ;
//--------------------- affichage du bas de page et quitte le programme -----------------------
	echo "<div class='cadre_admin_page'>";
    	echo "<center><a href='menu_admin.php'>".RETOUR."</a></center>";
	echo "</div>";
	echo "<br />";
    include "bas.php";
  }
}
//--------------------------------------------------------------------------------------------
 else
{
	echo "<div id=\"message\">".ACCES_PAGE_INTERDITE." !<br />";
       	echo "<a href=\"index.php\">".RETOUR."</a></div><br />";
//-----------------------------------------------------------------------------------------------

//---------------- affichage du bas de page et quitte le programme ------------------------------
 include "bas.php";
 exit();
}

//-----------------------------------------------------------------------------------------------
?>
<?php
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------

    }

    /* on libère la mémoire */

    mysql_free_result($resultat_1);

    mysql_free_result($sql);

    /* On peut fermer la connexion à MySQL */

    mysql_close($connexion);

    /* On affiche maintenant la barre de navigation */

?>

<p class="navigation"><?php echo($barre_nav); ?></p>

<?php

}

else

{

    /**

    Nous n'avons aucune page, on peut alors afficher un message autre

    sans devoir nous préoccuper de la navigation

     */

?>

<h3>Aucune nouvelle n'a encore été publiée à ce jour</h3>

<hr />

<?php

}
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
?>
En tout cas merci car le fait de me faire chercher comme ça, c'est très instructeur! :D

Mammouth du PHP | 687 Messages

06 oct. 2010, 17:30

Ahhhhhh j'ai réussi à corriger certains problème!
La connexion désormais se fait à ma base!

Problème lorsque j'affiche la page : Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /homez.333/./www/./gestion_liste_entreprise.php on line 349

Mais sur la page s'affiche bien le nombre de pages correspondant à mes enregistrements :
1 | 2 | 3 | 4 | 5 | 6
Problème le tableau des enregistrements n'apparait pas... :cry:
voici le code :
<strong></strong>

<?php

//--------les includes des fonctions permettent le bon fonctionnement du site--------------------
include "include_fns.php";
//-----------------------------------------------------------------------------------------------
$query = "SELECT COUNT(*) FROM pefac_entreprises_coordonnees";

$result = mysql_query($query) or die (mysql_error());

$compteur = mysql_fetch_row($result);
//-----------------------------------------------------------------------------------------------
//permet de savoir si le groupe a le droit d'acces a ce fichier
$fichier = "Entreprises";
$module_autoriser = rech_enreg_modules($groupe, $fichier);

 if ($module_autoriser)
{
//------------------------------------------------------------------------------------------------

//--------------------- si la session n'enregistre pas l'administreur ----------------------------
 if (!$_SESSION["administrateur"] && !$_SESSION["groupe"]) {
   	echo "<div id=\"message\">".ACCES_PAGE_INTERDITE." !<br />";
       	echo "<a href=\"index.php\">".RETOUR."</a></div><br />";
//-----------------------------------------------------------------------------------------

//--------------------- affichage du bas de page et quitte le programme -------------------
  	include "bas.php";
  	exit();
 }
//-----------------------------------------------------------------------------------------
 else {
//-----------------------------------------------------------------------------------------
   if (isset($_GET['nom_entreprise'])) {
	$nom_entreprise = $_GET['nom_entreprise'];
	$entreprise = rech_enreg_entreprise($nom_entreprise);
	
	//supprimer la plaquette et le logo lors de la suppression de l'entreprise
	$conn = db_connect();
  	$sql = "SELECT * FROM ".ENTREPRISES_DOSSIERS." where num_client = '$entreprise[num_client]'";
  	$result = mysql_query($sql, $conn);
  	$dossier = mysql_fetch_array($result);
  	
  	//supprimer la plaquette et le logo
	@unlink($dossier[logo]);
	@unlink($dossier[plaquette_pdf]);

	//suppression des coordonnees du dossier et des contacts de l'entreprise
	$conn = db_connect();
	$sql_coord = "delete from ".ENTREPRISES_COORDONNEES." where num_client = '$entreprise[num_client]'";
	$result_coord = mysql_query($sql_coord, $conn);

	$sql_doss = "delete from ".ENTREPRISES_DOSSIERS." where num_client = '$entreprise[num_client]'";
	$result_doss = mysql_query($sql_doss, $conn);

	$sql_cont = "delete from ".ENTREPRISES_CONTACTS." where num_client = '$entreprise[num_client]'";
	$result_cont = mysql_query($sql_cont, $conn);
   }
//-----------------------------------------------------------------------------------------

//-----------------------------------------------------------------------------------------
   if (isset($_GET['tri'])) {
	$tri = $_GET['tri'];
   }
   else {
	$tri = "num_saisie";
   }
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------
/* Paramètres de connexion */

$admin_bd   = "";              /* Le pseudonyme permettant à l'administrateur de se connecter */

$mdp_bd     = "";                  /* Le mot d passe de l'administrateur de base de données */

$serveur_bd = "";         /* L'adresse du serveur de base de données */

$base_bd    = "";           /* La base de données où sont enregistrées les informations */


/* Paramètres de pagination */

$nb_nouv_par_page = 50;             /* Nombre de nouvelles qui seront affichées sur chaque page */

$url = "./gestion_liste_entreprise.php?page=";



/* On détermine quelle est la page qui est actuellement affichée */

$page_en_cours    = isset($_GET['page']) ? $_GET['page'] : 0;

$page_affichee    = ($page_en_cours + 1);



/* Connexion au serveur de base de données */

$connexion = mysql_pconnect($serveur_bd, $admin_bd, $mdp_bd);

mysql_select_db($sql);



/* Requête pour compter les nouvelles présentes dans notre base de données */

$sql_nb = "SELECT COUNT(*) FROM `pefac_entreprises_coordonnees`";



/* Exécution de la requête et récupération du résultat */

$resultat_1 = mysql_query($sql_nb);

$nb_entreprise = mysql_result($resultat_1, 0);



/* Calcul du nombre total de pages : on arrondit à l'entier supérieur (ceil() ) */

$nb_pages = ceil($nb_entreprise / $nb_nouv_par_page);



/**

Nous disposons maintenant de suffisament d'éléments pour créer notre barre de navigation.

Première chose à vérifier : avons-nous plusieurs pages, et au moins une ?

 */

if($nb_pages > 0)

{

    /* On définit une variable qui contiendra les données de navigation */

    $barre_nav = "";

    /* Nous avons au moins une page : avons nous besoin d'une barre de navigation ? */

    if($nb_pages > 1)

    {

        /**

        Nous avons plusieurs pages: nous allons afficher successivement les liens vers

        les pages précédentes s'il y en a, la page en cours et les liens vers les pages

        suivantes. Nous aurons une barre sous la forme : 1 | 2 | 3 etc.. en liens clicables

        sauf pour la page en cours dont nous mettrons le chiffre en gras

         */

        if($page_en_cours > 0)

        {

            for($i = 0; $i < $page_en_cours; $i++)

            {

                $p = $i + 1;

                $barre_nav .= "<a href=\"". $url . $i ."\" title=\"page ". $p ."\">". $p ."</a> | ";

            }

        }

        /**

        On affiche la page en cours : notez le (+ 1) : pour les calculs, nous partons d'une

        page 0 mais pour l'internaute, il est préférable de commencer à la page 1, donc on incrémente

         */

        $barre_nav .= "<strong>". $page_affichee ."</strong>";

        /* Enfin on affiche (s'il y a lieu) les liens vers les pages suivantes */

        if(($page_affichee) < $nb_pages)

        {

            /* Il reste encore d'autres pages à afficher */

            $nb_suivantes = $nb_pages - ($page_affichee);

            for($j = ($page_affichee); $j < $nb_pages; $j++)

            {

                $p = $j + 1;

                $barre_nav .= " | <a href=\"". $url . $j ."\" title=\"page ". $p ."\">". $p ."</a>";

            }

        }

       

        /* On peut définir en plus la situation dans une autre variable à afficher ailleurs */

        $page_affichee = "Page ". $page_affichee ." sur un total de ". $nb_pages ." pages.";

    }

    else

    {

        /* Nous n'avons qu'une seule page, on peut se contenter d'afficher juste page 1/1 */

        $barre_nav .= "page 1/1";

    }
//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
 if ($groupe == "1" || $groupe == "2") {
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
$debut = $page_en_cours * $nb_nouv_par_page;
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
  $conn = db_connect();
  $sql = "SELECT nom_entreprise, telephone, code_postal, num_dossier, date_limite, num_saisie FROM ".ENTREPRISES_COORDONNEES.", ".ENTREPRISES_DOSSIERS." WHERE ".ENTREPRISES_COORDONNEES.".num_client = ".ENTREPRISES_DOSSIERS.".num_client order by $tri asc LIMIT". $debut .", ". $nb_nouv_par_page .";"; 
  $result = mysql_query($sql, $conn);
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
   $entreprsises = mysql_query($sql_n);
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
  //$num_results = mysql_num_rows($result);
 }  
 else {
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------	 
	 
?>

<p class="situation"><?php echo($page_affichee); ?></p>

<?php

    while($nouv = mysql_fetch_assoc($entreprsises))

    {

?>
<?php
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------


//------------------ l'administrateur ne peut voir que ce qu'il a cree --------------------
  //-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
$debut = $page_en_cours * $nb_nouv_par_page;
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
  $conn = db_connect();
  $sql = "SELECT nom_entreprise, telephone, code_postal, num_dossier, date_limite, num_saisie FROM ".ENTREPRISES_COORDONNEES.", ".ENTREPRISES_DOSSIERS." WHERE ".ENTREPRISES_COORDONNEES.".num_client = ".ENTREPRISES_DOSSIERS.".num_client order by $tri asc LIMIT". $debut .", ". $nb_nouv_par_page .";"; 
  $result = mysql_query($sql, $conn);
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
   $entreprsises = mysql_query($sql_n);
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
  //$num_results = mysql_num_rows($result);
}
//-----------------------------------------------------------------------------------------
//----------------------------- formulaire de la liste des entreprises --------------------

   	echo "<div><h1>Liste des entreprises</h1></div>";
   	echo "<div class='cadre_admin_page'>";
   	echo "<div>[   <a href='ajouter_entreprise.php'>Ajouter une nouvelle entreprise</a>   ]</div>";
	
//-----------------------------------------------------------------------------------------

//-----------------------------------------------------------------------------------------
   	echo "</div>";
   	echo "<div class='cadre_admin_page'>";
   	echo "<table border='0' align='center' cellspacing='1' cellpadding='1' width='100%' class='bordure'>";
   	echo "<tr>";
	echo '<center><b>Il y a '.$compteur[0].' sociétés référencées sur le site<b></center>'.'<br>';
	
   	echo "<th class='fond' width='30%'><b>Nom de l'&eacute;tablissement</b>&nbsp;&nbsp;<a href=\"?tri=nom_entreprise\"><img src=\"$dir_image/desc.gif\" alt=\"\" title=\"trier\" border=\"0\"></a></th>
		<th class='fond' width='8%'><b>T&eacute;l&eacute;phone</b></th>
		<th class='fond' width='11%'><b>Code postal</b>&nbsp;&nbsp;<a href=\"?tri=code_postal\"><img src=\"$dir_image/desc.gif\" alt=\"\" title=\"trier\" border=\"0\"></a></th>
		<th class='fond' width='8%'><b>R&eacute;f dossier</b></th>
		<th class='fond' width='7%'><b>&Eacute;ch&eacute;ance</b></th>
		<th class='fond' width='9%'><b>N&deg; de saisie</b></th>
		
		<th class='fond' width='10%' colspan='2'>&nbsp;</th>";
   	echo "</tr>";
 
 while ($rech_ent = @mysql_fetch_array($result)) {
	echo "<tr><td class='fond'><a href =\"ajouter_entreprise.php?nom_entreprise=".addSlashes(htmlentities($rech_ent[nom_entreprise]))."\">".stripSlashes(htmlentities($rech_ent[nom_entreprise]))."</a></td>";
	echo "<td class='fond'>".stripSlashes(htmlentities($rech_ent[telephone]))."</td>";
	echo "<td class='fond'>".stripSlashes(htmlentities($rech_ent[code_postal]))."</td>";
	echo "<td class='fond'><a href =\"dossier_entreprise.php?num_dossier=$rech_ent[num_dossier]&nom_entreprise=$rech_ent[nom_entreprise]\">".stripSlashes(htmlentities($rech_ent[num_dossier]))."</a></td>";
	echo "<td class='fond'>".stripSlashes(htmlentities(date("d/m/Y", $rech_ent[date_limite])))."</td>";
	echo "<td class='fond'>".stripSlashes(htmlentities($rech_ent[num_saisie]))."</td>";
	echo "<td class='fond'><a href =\"contact_entreprise.php?nom_entreprise=".addSlashes(htmlentities($rech_ent[nom_entreprise]))."\">CONTACTER</a></td>";
	echo "<td class='fond'><a href =\"".$_SERVER['PHP_SELF']."?nom_entreprise=".addSlashes(htmlentities($rech_ent[nom_entreprise]))."\" onclick=\"return confirm('Attention, vous allez supprimer ".addSlashes(htmlentities($rech_ent[nom_entreprise]))." voulez vous continuer ?')\">SUPPRIMER</a></td></tr>";
 }
	echo "</table>";
//---------------------------------------------------------------------------------------------
	echo "</div>" ;
//--------------------- affichage du bas de page et quitte le programme -----------------------
	echo "<div class='cadre_admin_page'>";
    	echo "<center><a href='menu_admin.php'>".RETOUR."</a></center>";
	echo "</div>";
	echo "<br />";
    include "bas.php";
  }
}
//--------------------------------------------------------------------------------------------
 else
{
	echo "<div id=\"message\">".ACCES_PAGE_INTERDITE." !<br />";
       	echo "<a href=\"index.php\">".RETOUR."</a></div><br />";
//-----------------------------------------------------------------------------------------------

//---------------- affichage du bas de page et quitte le programme ------------------------------
 include "bas.php";
 exit();
}

//-----------------------------------------------------------------------------------------------
?>
<?php
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------

    }

    /* on libère la mémoire */

    mysql_free_result($resultat_1);

    mysql_free_result($entreprises);

    /* On peut fermer la connexion à MySQL */

    mysql_close($connexion);

    /* On affiche maintenant la barre de navigation */

?>

<p class="navigation"><?php echo($barre_nav); ?></p>

<?php

}

else

{

    /**

    Nous n'avons aucune page, on peut alors afficher un message autre

    sans devoir nous préoccuper de la navigation

     */

?>

<h3>Aucune nouvelle n'a encore été publiée à ce jour</h3>

<hr />

<?php

}
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
?>

je tiens à préciser que dans mon code j'ai bien rempli cette partie :

/* Paramètres de connexion */

$admin_bd = ""; /* Le pseudonyme permettant à l'administrateur de se connecter */

$mdp_bd = ""; /* Le mot d passe de l'administrateur de base de données */

$serveur_bd = ""; /* L'adresse du serveur de base de données */

$base_bd = ""; /* La base de données où sont enregistrées les informations */


MERCI

ViPHP
ViPHP | 3607 Messages

06 oct. 2010, 17:31

Trop de code, j'ai la flemme et pas le temps :p

Juste quelques conseils, déjà je vois partout que tu faits du tri sur certains critères (where num_client = truc etc...)
Pense à restructurer ta requête de comptage de la même façon, sinon cela va fausser les résultats:
donc si
SELECT champ1,champ2,champ3 FROM table WHERE arg1=xx AND arg2=yy
Alors la requête de comptage:
SELECT COUNT(*) FROM table WHERE arg1=xx AND arg2=yy
Attention aussi à conserver les group by dans les deux cas, etc... en fait tout ce qui pourrait limiter le nombre de résultats :)

Ensuite, pour voir ce qui ne marche pas je te conseil d'utiliser var_dump() un peu partout pour voir si les variables contiennent bien ce que tu souhaites...

Genre:
list($nombre_de_resultats) = mysql_fetch_row(mysql_query($sql_nb_results));
// est-ce que ça fonctionne?
var_dump($nombre_de_resultats);

Mammouth du PHP | 687 Messages

06 oct. 2010, 17:43

Ok merci...

Je vais voir si je trouve. :wink:

Mammouth du PHP | 687 Messages

06 oct. 2010, 18:13

J'ai résolu l'erreur, en fait il manquait une variable...
Avec tous ces codes je m'y perds un peu...

Désormais seul s'affiche sur ma page le numéro des pages mais aucuns enregistrements visibles.... autrement dit : 1 | 2 | 3 | 4 | 5 | 6 (résultat correct puisque j'ai 260 enregistrements)

code :
<strong></strong>

<?php

//--------les includes des fonctions permettent le bon fonctionnement du site--------------------
include "include_fns.php";
//-----------------------------------------------------------------------------------------------
$query = "SELECT COUNT(*) FROM pefac_entreprises_coordonnees";

$result = mysql_query($query) or die (mysql_error());

$compteur = mysql_fetch_row($result);
//-----------------------------------------------------------------------------------------------
//permet de savoir si le groupe a le droit d'acces a ce fichier
$fichier = "Entreprises";
$module_autoriser = rech_enreg_modules($groupe, $fichier);

 if ($module_autoriser)
{
//------------------------------------------------------------------------------------------------

//--------------------- si la session n'enregistre pas l'administreur ----------------------------
 if (!$_SESSION["administrateur"] && !$_SESSION["groupe"]) {
   	echo "<div id=\"message\">".ACCES_PAGE_INTERDITE." !<br />";
       	echo "<a href=\"index.php\">".RETOUR."</a></div><br />";
//-----------------------------------------------------------------------------------------

//--------------------- affichage du bas de page et quitte le programme -------------------
  	include "bas.php";
  	exit();
 }
//-----------------------------------------------------------------------------------------
 else {
//-----------------------------------------------------------------------------------------
   if (isset($_GET['nom_entreprise'])) {
	$nom_entreprise = $_GET['nom_entreprise'];
	$entreprise = rech_enreg_entreprise($nom_entreprise);
	
	//supprimer la plaquette et le logo lors de la suppression de l'entreprise
	$conn = db_connect();
  	$sql = "SELECT * FROM ".ENTREPRISES_DOSSIERS." where num_client = '$entreprise[num_client]'";
  	$result = mysql_query($sql, $conn);
  	$dossier = mysql_fetch_array($result);
  	
  	//supprimer la plaquette et le logo
	@unlink($dossier[logo]);
	@unlink($dossier[plaquette_pdf]);

	//suppression des coordonnees du dossier et des contacts de l'entreprise
	$conn = db_connect();
	$sql_coord = "delete from ".ENTREPRISES_COORDONNEES." where num_client = '$entreprise[num_client]'";
	$result_coord = mysql_query($sql_coord, $conn);

	$sql_doss = "delete from ".ENTREPRISES_DOSSIERS." where num_client = '$entreprise[num_client]'";
	$result_doss = mysql_query($sql_doss, $conn);

	$sql_cont = "delete from ".ENTREPRISES_CONTACTS." where num_client = '$entreprise[num_client]'";
	$result_cont = mysql_query($sql_cont, $conn);
   }
//-----------------------------------------------------------------------------------------

//-----------------------------------------------------------------------------------------
   if (isset($_GET['tri'])) {
	$tri = $_GET['tri'];
   }
   else {
	$tri = "num_saisie";
   }
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------
/* Paramètres de connexion */

$admin_bd   = "";              /* Le pseudonyme permettant à l'administrateur de se connecter */

$mdp_bd     = "";                  /* Le mot d passe de l'administrateur de base de données */

$serveur_bd = "";         /* L'adresse du serveur de base de données */

$base_bd    = "";           /* La base de données où sont enregistrées les informations */


/* Paramètres de pagination */

$nb_nouv_par_page = 50;             /* Nombre de nouvelles qui seront affichées sur chaque page */

$url = "./gestion_liste_entreprise.php?page=";



/* On détermine quelle est la page qui est actuellement affichée */

$page_en_cours    = isset($_GET['page']) ? $_GET['page'] : 0;

$page_affichee    = ($page_en_cours + 1);



/* Connexion au serveur de base de données */

$connexion = mysql_pconnect($serveur_bd, $admin_bd, $mdp_bd);

mysql_select_db($sql);



/* Requête pour compter les nouvelles présentes dans notre base de données */

$sql_nb = "SELECT COUNT(*) FROM `pefac_entreprises_coordonnees`";



/* Exécution de la requête et récupération du résultat */

$resultat_1 = mysql_query($sql_nb);

$nb_entreprise = mysql_result($resultat_1, 0);



/* Calcul du nombre total de pages : on arrondit à l'entier supérieur (ceil() ) */

$nb_pages = ceil($nb_entreprise / $nb_nouv_par_page);



/**

Nous disposons maintenant de suffisament d'éléments pour créer notre barre de navigation.

Première chose à vérifier : avons-nous plusieurs pages, et au moins une ?

 */

if($nb_pages > 0)

{

    /* On définit une variable qui contiendra les données de navigation */

    $barre_nav = "";

    /* Nous avons au moins une page : avons nous besoin d'une barre de navigation ? */

    if($nb_pages > 1)

    {

        /**

        Nous avons plusieurs pages: nous allons afficher successivement les liens vers

        les pages précédentes s'il y en a, la page en cours et les liens vers les pages

        suivantes. Nous aurons une barre sous la forme : 1 | 2 | 3 etc.. en liens clicables

        sauf pour la page en cours dont nous mettrons le chiffre en gras

         */

        if($page_en_cours > 0)

        {

            for($i = 0; $i < $page_en_cours; $i++)

            {

                $p = $i + 1;

                $barre_nav .= "<a href=\"". $url . $i ."\" title=\"page ". $p ."\">". $p ."</a> | ";

            }

        }

        /**

        On affiche la page en cours : notez le (+ 1) : pour les calculs, nous partons d'une

        page 0 mais pour l'internaute, il est préférable de commencer à la page 1, donc on incrémente

         */

        $barre_nav .= "<strong>". $page_affichee ."</strong>";

        /* Enfin on affiche (s'il y a lieu) les liens vers les pages suivantes */

        if(($page_affichee) < $nb_pages)

        {

            /* Il reste encore d'autres pages à afficher */

            $nb_suivantes = $nb_pages - ($page_affichee);

            for($j = ($page_affichee); $j < $nb_pages; $j++)

            {

                $p = $j + 1;

                $barre_nav .= " | <a href=\"". $url . $j ."\" title=\"page ". $p ."\">". $p ."</a>";

            }

        }

       

        /* On peut définir en plus la situation dans une autre variable à afficher ailleurs */

        $page_affichee = "Page ". $page_affichee ." sur un total de ". $nb_pages ." pages.";

    }

    else

    {

        /* Nous n'avons qu'une seule page, on peut se contenter d'afficher juste page 1/1 */

        $barre_nav .= "page 1/1";

    }
//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
 if ($groupe == "1" || $groupe == "2") {
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
$debut = $page_en_cours * $nb_nouv_par_page;
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
  $conn = db_connect();
  $sql = "SELECT nom_entreprise, telephone, code_postal, num_dossier, date_limite, num_saisie FROM ".ENTREPRISES_COORDONNEES.", ".ENTREPRISES_DOSSIERS." WHERE ".ENTREPRISES_COORDONNEES.".num_client = ".ENTREPRISES_DOSSIERS.".num_client order by $tri asc LIMIT". $debut .", ". $nb_nouv_par_page .";"; 
  $result = mysql_query($sql, $conn);
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
   $entreprsises = mysql_query($sql_n);
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
  //$num_results = mysql_num_rows($result);
 }  
 else {
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------	 
	 
?>

<p class="situation"><?php echo($page_affichee); ?></p>

<?php

    while($rech_ent = mysql_fetch_assoc($entreprsises))

    {

?>
<?php
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------


//------------------ l'administrateur ne peut voir que ce qu'il a cree --------------------
  //-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
$debut = $page_en_cours * $nb_nouv_par_page;
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
  $conn = db_connect();
  $sql = "SELECT nom_entreprise, telephone, code_postal, num_dossier, date_limite, num_saisie FROM ".ENTREPRISES_COORDONNEES.", ".ENTREPRISES_DOSSIERS." WHERE ".ENTREPRISES_COORDONNEES.".num_client = ".ENTREPRISES_DOSSIERS.".num_client order by $tri asc LIMIT". $debut .", ". $nb_nouv_par_page .";"; 
  $result = mysql_query($sql, $conn);
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
   $entreprises = mysql_query($sql_n);
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
  //$num_results = mysql_num_rows($result);
}
//-----------------------------------------------------------------------------------------
//----------------------------- formulaire de la liste des entreprises --------------------

   	echo "<div><h1>Liste des entreprises</h1></div>";
   	echo "<div class='cadre_admin_page'>";
   	echo "<div>[   <a href='ajouter_entreprise.php'>Ajouter une nouvelle entreprise</a>   ]</div>";
	
//-----------------------------------------------------------------------------------------

//-----------------------------------------------------------------------------------------
   	echo "</div>";
   	echo "<div class='cadre_admin_page'>";
   	echo "<table border='0' align='center' cellspacing='1' cellpadding='1' width='100%' class='bordure'>";
   	echo "<tr>";
	echo '<center><b>Il y a '.$compteur[0].' sociétés référencées sur le site<b></center>'.'<br>';
	
   	echo "<th class='fond' width='30%'><b>Nom de l'&eacute;tablissement</b>&nbsp;&nbsp;<a href=\"?tri=nom_entreprise\"><img src=\"$dir_image/desc.gif\" alt=\"\" title=\"trier\" border=\"0\"></a></th>
		<th class='fond' width='8%'><b>T&eacute;l&eacute;phone</b></th>
		<th class='fond' width='11%'><b>Code postal</b>&nbsp;&nbsp;<a href=\"?tri=code_postal\"><img src=\"$dir_image/desc.gif\" alt=\"\" title=\"trier\" border=\"0\"></a></th>
		<th class='fond' width='8%'><b>R&eacute;f dossier</b></th>
		<th class='fond' width='7%'><b>&Eacute;ch&eacute;ance</b></th>
		<th class='fond' width='9%'><b>N&deg; de saisie</b></th>
		
		<th class='fond' width='10%' colspan='2'>&nbsp;</th>";
   	echo "</tr>";
 
 while ($rech_ent = @mysql_fetch_array($result)) {
	echo "<tr><td class='fond'><a href =\"ajouter_entreprise.php?nom_entreprise=".addSlashes(htmlentities($rech_ent[nom_entreprise]))."\">".stripSlashes(htmlentities($rech_ent[nom_entreprise]))."</a></td>";
	echo "<td class='fond'>".stripSlashes(htmlentities($rech_ent[telephone]))."</td>";
	echo "<td class='fond'>".stripSlashes(htmlentities($rech_ent[code_postal]))."</td>";
	echo "<td class='fond'><a href =\"dossier_entreprise.php?num_dossier=$rech_ent[num_dossier]&nom_entreprise=$rech_ent[nom_entreprise]\">".stripSlashes(htmlentities($rech_ent[num_dossier]))."</a></td>";
	echo "<td class='fond'>".stripSlashes(htmlentities(date("d/m/Y", $rech_ent[date_limite])))."</td>";
	echo "<td class='fond'>".stripSlashes(htmlentities($rech_ent[num_saisie]))."</td>";
	echo "<td class='fond'><a href =\"contact_entreprise.php?nom_entreprise=".addSlashes(htmlentities($rech_ent[nom_entreprise]))."\">CONTACTER</a></td>";
	echo "<td class='fond'><a href =\"".$_SERVER['PHP_SELF']."?nom_entreprise=".addSlashes(htmlentities($rech_ent[nom_entreprise]))."\" onclick=\"return confirm('Attention, vous allez supprimer ".addSlashes(htmlentities($rech_ent[nom_entreprise]))." voulez vous continuer ?')\">SUPPRIMER</a></td></tr>";
 }
 
	echo "</table>";
//---------------------------------------------------------------------------------------------
	echo "</div>" ;
//--------------------- affichage du bas de page et quitte le programme -----------------------
	echo "<div class='cadre_admin_page'>";
    	echo "<center><a href='menu_admin.php'>".RETOUR."</a></center>";
	echo "</div>";
	echo "<br />";
    include "bas.php";
  }
}
//--------------------------------------------------------------------------------------------
 else
{
	echo "<div id=\"message\">".ACCES_PAGE_INTERDITE." !<br />";
       	echo "<a href=\"index.php\">".RETOUR."</a></div><br />";
//-----------------------------------------------------------------------------------------------

//---------------- affichage du bas de page et quitte le programme ------------------------------
 include "bas.php";
 exit();
}

//-----------------------------------------------------------------------------------------------
?>

<?php


//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------

    }

    

    /* On peut fermer la connexion à MySQL */

    mysql_close($connexion);

    /* On affiche maintenant la barre de navigation */

?>

<p class="navigation"><?php echo($barre_nav); ?></p>

<?php

}

else

{

    /**

    Nous n'avons aucune page, on peut alors afficher un message autre

    sans devoir nous préoccuper de la navigation

     */

?>

<h3>Aucune nouvelle n'a encore été publiée à ce jour</h3>

<hr />

<?php

}
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------
?>

Est-ce que quelqu'un peu s'il vous plait me dire ce qui manque pour que mon tableau avec mes résultats s'affiche correctement...?

Merci beaucoup!

Mammouth du PHP | 19672 Messages

06 oct. 2010, 20:27

Ah oui j'ai aussi ajouté des : //-----------------------------------------------------------------------------------------//----------------------------------------------------------------------------------------- un peu partout, c'est normal c'est juste pour pouvoir repérer mes modifs...
Le copier/coller pour faire du bidouillage dessus par la suite est la plus mauvaise manière d'apprendre. Et d'autres te l'ont dit avant moi.

Le but du tuto, c'est de comprendre une méthode pour partir d'une situation x afin d'aboutir à un résultat x. C'est pour ça que je me suis toujours efforcé de largement commenter mes tutos de façons à ce que chaque élément soit clairement compréhensible. Et pourtant quasiment tous continuent à copier/coller pour tenter ensuite d'adapter en comprenant plus ou moins, en oubliant de lire tout et en venant ensuite réclamer de l'aide parce qu'au final une des modifications a tout fait planter. :evil:

Regarde donc un peu ce que tu fais :
<?php
//...
                while ($rech_ent = mysql_fetch_assoc ($entreprsises))
                {
                    //-----------------------------------------------------------------------------------------
                    //-----------------------------------------------------------------------------------------
                    //------------------ l'administrateur ne peut voir que ce qu'il a cree --------------------
                    //-----------------------------------------------------------------------------------------
                    //-----------------------------------------------------------------------------------------
                    $debut = $page_en_cours * $nb_nouv_par_page;
                    //-----------------------------------------------------------------------------------------
                    //-----------------------------------------------------------------------------------------
                    $conn = db_connect ();
                    $sql  = "SELECT nom_entreprise, telephone, code_postal, num_dossier, date_limite, num_saisie ".
                            "FROM " . ENTREPRISES_COORDONNEES . ", " . ENTREPRISES_DOSSIERS . " ".
                            "WHERE " . ENTREPRISES_COORDONNEES . ".num_client = " . ENTREPRISES_DOSSIERS . ".num_client ".
                            "order by $tri asc ".
                            "LIMIT" . $debut . ", " . $nb_nouv_par_page . ";";
                    $result = mysql_query ($sql, $conn);
                    //-----------------------------------------------------------------------------------------
                    //-----------------------------------------------------------------------------------------
                    $entreprises = mysql_query ($sql_n);
                    //-----------------------------------------------------------------------------------------
                    //-----------------------------------------------------------------------------------------
                    //$num_results = mysql_num_rows($result);
                }
//...
Une requête dans une boucle pilotée selon le résultat d'une précédente requête et avec deux point majeurs :
  1. La variable $rech_ent n'est jamais utilisée
  2. La variable $entreprsises est en principe une ressource MySQL mais n'a jamais été initialisée nulle part au préalable : on est dans le else, donc on est pas rentré dans le if qui précède et donc la requête du if n'a pas été exécutée;
Mets donc ton display_error à ON avec un niveau à E_ALL, à mon avis tu vas avoir des informations déplaisantes, certes, mais tout à fait utiles.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 687 Messages

06 oct. 2010, 20:55

Merci.
Je sais que ce n'est pas très malin de faire du copier/collé mais j'ai essayé d'adapter ce code à ma page comme j'ai pu avec les connaissances moindres que j'avais...
Si j'ai fait appelle à vous c'est que je débute et que je patoge beaucoup sinon jamais je me serais permis de vous embête autant... Je tente de comprendre, je scanne chaque ligne de ce code et je ne vois pas... Grâce à vos explications j'ai pu corriger tous les problèmes précédent mais là je ne sais plus, ça me dépasse totalement.
la variable $rech_ent est présente pour afficher les enregistrements dans le tableau... La page affichait tous les résultats sans le codage de pagination donc la variable est correcte...

Maintenant peut-être que cette variable n'est pas utilisable pour le codage de pagination..?

je suis vraiment désolé je sais que ça parrait évident pour vous mais pour moi il y a encore quelques zones d'ombres... :oops:

En tout cas merci d'avoir tenté de m'expliquer.

Cordialement.

Mammouth du PHP | 19672 Messages

06 oct. 2010, 21:24

Si tu veux pouvoir avancer, il serait souhaitable de savoir de quel endroit tu pars, par quel chemin tu veux passer et à quel endroit tu veux arriver. Dit comme ça, ça devrait te sembler assez logique. Oublie le code un moment et réfléchis à ce qui suit :

En partant de ce principe de base, il faut définir d'où on part : d'une page qui se charge. Là, on doit définir si c'est la première fois qu'elle se charge ou non de façon à déterminer les paramètres dont on a besoin pour faire des choix lors des alternatives à venir. Quels sont ces paramètres ? Le nombre de résultats, le nombre à afficher par page, le nombre de pages que ça va donner, quelle page est demandée et si aucune ne l'est, quelle page on devra afficher par défaut (à priori bien entendu ce sera la première). En vois-tu d'autres ?

Où doit-on se rendre ? Afficher une page avec un maximum de n résultats s'il y en a au moins un, sinon un message indiquant qu'aucune donnée n'est disponible. Ma page doit comporter, outre mon tableau de résultats, des liens pour accéder si nécessaire aux autres pages, ces liens devant être les pages précédentes (à quelle condition ?) et les pages suivantes (à quelles conditions là aussi ?)

Essaye de simplifier autant que possible dans ton langage à toi et non en code : écris ça sur un modèle du genre :

Code : Tout sélectionner

SI condition x ALORS Instruction 1 SINON Instruction 2 FIN SI;
En remplaçant « condition x », « Instruction 1 » et « Instruction 2 » par ce que tu veux faire. Quand tu auras défini un déroulement logique de ce qui doit se passer pour aboutir à un affichage, tu auras quasiment terminé parce qu'il ne te restera qu'à le traduire en code. Mais cette étape va te faire gagner un temps assez considérable malgré les apparences.

Et un point important : traite un problème à la fois. Quand il sera résolu, passe au suivant, pas avant. Si tu réalises que tu ne peux pas résoudre un problème A sans disposer du résultat d'un problème B, alors résoud d'abord le problème B et ensuite reviens terminer le problème A. Le PHP, c'Est pas plus dur qu'autre chose, c'est de la logique pure. Tu as un problème global : atomise-le en questions à réponse binaire (0/1, oui/non, vrai/faux).
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 687 Messages

06 oct. 2010, 21:37

tu as raison!
je vais procéder de cette façon... Mon principal défaut étant de toujours vouloir aller trop vite!

pour une fois je vais ralentir et faire ce que tu me dis!

Merci beaucoup pour tes explications! :wink: