//fin if ($nb_doc_menu) : documentations par défaut ou liées au type de doc
            //echo count($listdoc->paras);
            //print_r($listdoc->paras);
            //reset($listdoc->paras);
            $n = 1;
            foreach ($listdoc as $paras) {
                //NB : le tableau est tronqué dans l'objet selon le nbre souhaite par page
                if (!$cl) {
                    $cl = "class=\"fond_clair\"";
                } else {
                    $cl = "";
                }
                //On récupère les infos complètes de la doc (on n'a stocké que l'année dans le tableau $paras[])
                $laDoc = new Documentation();
                $laDoc->numpara = $paras->numpara;
                $laDoc->infosDoc();
                ?>
	   <tr <?php 
                echo $cl;
                ?>
>
		   	<td><?php 
                echo $n;
                ?>
<? if ($laDoc->numpara) echo " - ".$laDoc->numpara?></td>
			<td><?php 
                echo $laDoc->titrePara;
                ?>
</td>
			<td><?php 
                echo $laDoc->anneeDoc;
 /**
  * @brief permet d'aller chercher toutes les docs liées &agrave; une categ + sscateg dans le moteur
  * @details on vide le tableau des Docs de la catégorie sélectionnée (créé par afficherDocs() )
  * car il faut éviter un effet mémoire.
  */
 function afficherDocsSousCateg()
 {
     $this->listdoc = array();
     // récupération du tableau des docs de la categ sélectionnée (les numpara)
     $tab_docs_categ = $this->listdocnumpara;
     $tab_docs_sscateg = array();
     $result = mysql_query("SELECT numsscateg FROM if_sscateg WHERE numcateg='{$this->nummenu}'");
     while ($row = mysql_fetch_row($result)) {
         $res = mysql_query("SELECT if_para_sscateg.numpara FROM if_para_sscateg, if_v_doc WHERE numsscateg='{$row['0']}' \r\n\t\t\tAND if_para_sscateg.numpara=if_v_doc.numpara AND publiee='o' {$this->tri_date} ORDER BY date,numpara DESC");
         if (mysql_num_rows($res) > 0) {
             while ($riw = mysql_fetch_row($res)) {
                 $tab_docs_sscateg[] = $riw[0];
             }
         }
         // fin if
     }
     // fin while
     $tab_des_docs = array_merge($tab_docs_categ, $tab_docs_sscateg);
     sort($tab_des_docs);
     $tab_des_docs = array_unique($tab_des_docs);
     $tab_des_docs = array_values($tab_des_docs);
     // reindexation
     for ($i = 0; $i < count($tab_des_docs); $i++) {
         $laDoc = new Documentation();
         $laDoc->numpara = $tab_des_docs[$i];
         $laDoc->infosDoc();
         $this->listdoc[] = $laDoc;
     }
     //tri multidimentionnel sur tableau d'objets (la fonction de reference est dans fonctions.php
     usort($this->listdoc, 'trierDocs');
     //fonction modifiee sept. 2009 pour tri sur le champ date et non plus annee
     //print_r($this->listdoc);
     if (count($this->listdoc) > 1) {
         return true;
     }
 }
<?php

/* Date de cration: 19/01/2009 */
if ($numpara) {
    //on est en modification
    $modifDoc = new Documentation();
    $modifDoc->numpara = $numpara;
    $modifDoc->infosDoc();
}
/**mysql_query("INSERT INTO if_type_doc (type_doc,nom) VALUES (1,'fiche actions')");
mysql_query("INSERT INTO if_type_doc (type_doc,nom) VALUES (2,'article de revue \"Techniporc\"')");
mysql_query("INSERT INTO if_type_doc (type_doc,nom) VALUES (3,'article de revue \"Baromètre porc\"')");
mysql_query("INSERT INTO if_type_doc (type_doc,nom) VALUES (4,'article de revue \"PATHO-Gènes\"')");
mysql_query("INSERT INTO if_type_doc (type_doc,nom) VALUES (5,'ouvrage de référence')");
mysql_query("INSERT INTO if_type_doc (type_doc,nom) VALUES (6,'fiche repères techniques')");**/
?>

<div class="item" id="coltexteAdmin">
	<div class="sap-content">
		<div class="TabbedPanels">
 			 <div class="TabbedPanelsContentGroup">
  				  <div class="TabbedPanelsContent"> 
			<fieldset>
			<legend><?php 
if ($numpara) {
    echo "Modifier la documentation";
} else {
    echo "Ajouter une documentation";
}
?>
</legend>
 /**
  * Liste les articles de la commande 
  * @return renoie un tableau contenant la liste des articles de la commande
  */
 function listerArticles()
 {
     $list_article = array();
     $result = mysql_query("SELECT * FROM if_bo_detail WHERE numcom='{$this->numcom}' AND designation!='Inscription formation' AND numpara!='0'");
     while ($row = mysql_fetch_array($result)) {
         $article["numdetail"] = $row["numdetail"];
         $article["numpara"] = $row["numpara"];
         $doc = new Documentation();
         $doc->numpara = $row["numpara"];
         $doc->infosDoc();
         $article["titre"] = $doc->titrePara;
         $article["reference"] = $row["reference"];
         $article["qte"] = $row["qte"];
         $article["prix_vente"] = number_format(str_replace(",", ".", $row["prix_vente"]), 2, ",", " ");
         $article["prix_total"] = number_format(str_replace(",", ".", $row["prix_vente"]) * $row["qte"], 2, ",", " ");
         $list_article[] = $article;
     }
     return $list_article;
 }
 /**
  * affiche la liste des paragraphes 
  * @return si on voit les docs on retourne le nombre de doc, sinon on retourne le nombre de paragraphes
  */
 function afficherListeParas()
 {
     //requete sql
     if ($this->numpage) {
         // Liste des paragraphes li&eacute;s &agrave; la page
         if (isset($this->colonne)) {
             $fin_req = "AND colonne='{$this->colonne}'";
         }
         $result = mysql_query("SELECT numpara FROM if_page_para WHERE numpage='{$this->numpage}' {$fin_req} ORDER BY ordre");
         //echo "SELECT numpara FROM if_page_para WHERE numpage='$this->numpage' $fin_req ORDER BY ordre<br/>";
         while ($row = mysql_fetch_row($result)) {
             $unPara = new Paragraphe();
             $unPara->numpara = $row[0];
             $unPara->numpage = $this->numpage;
             $unPara->infosPara();
             $this->paras[] = $unPara;
         }
         //fin du while
     } else {
         if ($this->formation) {
             // Liste des formations IFIP
             $result = mysql_query("SELECT numpara FROM if_v_form {$this->tri_date}");
             while ($row = mysql_fetch_row($result)) {
                 $unPara = new Formation();
                 $unPara->numpara = $row[0];
                 $unPara->infosFormation();
                 $this->paras[] = $unPara;
             }
             //fin du while
         } else {
             if ($this->doc) {
                 // Liste des docs IFIP
                 $result = mysql_query("SELECT numpara FROM if_v_doc {$this->req_doc}");
                 while ($row = mysql_fetch_row($result)) {
                     $unPara = new Documentation();
                     $unPara->numpara = $row[0];
                     if ($this->docvcourte) {
                         $unPara->infosDocVersionCourte();
                     } else {
                         $unPara->infosDoc();
                     }
                     $this->paras[] = $unPara;
                     //mise en commentaire HC sept. 2009 - on refait un tri sur le champ date
                     //usort($this->paras, 'trierDocs');//tri sur le tableau d'ojets Documentation (sur anneeDoc cr&eacute;&eacute;e dans InfosDoc)
                 }
                 //fin du while
                 if ($this->docvcourte) {
                     $this->nbdocs = count($this->paras);
                     $this->paras = array_slice($this->paras, $this->borneinf, $this->bornesup);
                     // troncage du tableau
                     //print_r($this->paras);
                 }
             } else {
                 if ($this->breve) {
                     // Liste des br&egrave;ves internationales IFIP
                     $result = mysql_query("SELECT numpara FROM if_v_breve {$this->req_breve}");
                     while ($row = mysql_fetch_row($result)) {
                         $unPara = new Breve();
                         $unPara->numpara = $row[0];
                         $unPara->infosBreve();
                         $this->paras[] = $unPara;
                     }
                     //fin du while
                 } else {
                     if ($this->actu) {
                         // Liste des br&egrave;ves d'actualit&eacute;s IFIP
                         $result = mysql_query("SELECT numpara FROM if_v_actu {$this->req_actu}");
                         while ($row = mysql_fetch_row($result)) {
                             $unPara = new Actualite();
                             $unPara->numpara = $row[0];
                             $unPara->infosActu();
                             $this->paras[] = $unPara;
                         }
                         //fin du while
                     } else {
                         // Liste de tous les paragraphes (pour choisir un paragraphe &agrave; associer lors de la cr&eacute;ation ou modification de la page sauf les paragraphes de type Formation et de type Doc
                         $result = mysql_query("SELECT numpara FROM if_paragraphe WHERE numpara NOT IN (SELECT numpara FROM if_v_form) AND NOT IN (SELECT numpara FROM if_v_doc)");
                         while ($row = mysql_fetch_row($result)) {
                             $unPara = new Paragraphe();
                             $unPara->numpara = $row[0];
                             $unPara->numpage = $this->numpage;
                             $unPara->infosPara();
                             $this->paras[] = $unPara;
                         }
                         //fin du while
                     }
                 }
             }
         }
     }
     if ($this->docvcourte) {
         return $this->nbdocs;
     } else {
         return count($this->paras);
     }
 }