Subversion Repositories Applications.annuaire

Compare Revisions

Ignore whitespace Rev 97 → Rev 98

/trunk/modeles/AnnuaireModele.php
229,33 → 229,6
return $tableau_mappage ;
}
 
/** Charge le nombre d'inscrits d'une table annuaire mappée
* @param int $identifiant l'identifiant de l'annuaire mappé
* @return int le nombre d'inscrits à un annuaire donné
*
*/
public function chargerNombreAnnuaireListeInscrits($identifiant) {
 
$requete_informations_annuaire = 'SELECT aa_bdd, aa_table '.
'FROM annu_annuaire '.
'WHERE aa_id_annuaire = '.$identifiant.' ';
$resultat_informations_annuaire = $this->requeteUn($requete_informations_annuaire);
 
if(!$resultat_informations_annuaire) {
trigger_error('impossible de récupérer les informations de la table '.$identifiant);
}
 
$requete_nombre_inscrits = 'SELECT COUNT(*) as nom_inscrits'.
' FROM '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'];
 
if(!$resultat_informations_annuaire) {
trigger_error('impossible de récupérer le nombre d\'inscrits de la table '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table']);
}
 
$resultat_nombre_inscrits = $this->requeteUn($requete_nombre_inscrits);
return $resultat_nombre_inscrits['nom_inscrits'] ;
}
 
/** Charge le nombre d'inscrits d'une table annuaire mappée en les groupant par départements
* @param int $identifiant l'identifiant de l'annuaire mappé
* @return array un tableau indexé par les numéros de departement contenant le nombre d'inscrits à chacun
387,32 → 360,35
* @param int $taille_page la taille de la page demandée
*
*/
public function chargerAnnuaireListeInscrits($identifiant, $champs_mappage, $numero_page = 1, $taille_page = 50) {
public function chargerAnnuaireListeInscrits($id_annuaire, $numero_page = 1, $taille_page = 50) {
 
$requete = 'SELECT * '.
$requete_informations_annuaire = 'SELECT aa_bdd, aa_table '.
'FROM annu_annuaire '.
'WHERE aa_id_annuaire = '.$identifiant.' ';
$resultat = $this->requeteTous($requete);
$annuaire = array();
foreach ($resultat as $ligne) {
$annuaire['informations'] = $ligne;
'WHERE aa_id_annuaire = '.$id_annuaire.' ';
 
$resultat_informations_annuaire = $this->requeteUn($requete_informations_annuaire);
$champs_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
$requete_nb_inscrits = 'SELECT COUNT( * ) as nb '.' FROM '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'];
 
$resultat_nb_inscrits = $this->requeteUn($requete_nb_inscrits);
 
$nb_inscrits = 0;
if($resultat_nb_inscrits) {
$nb_inscrits = $resultat_nb_inscrits['nb'];
}
 
$annuaire['colonnes'] = $champs_mappage;
$requete_recherche_inscrits = 'SELECT '.$champs_mappage[0]['champ_id'].' FROM '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'];
$requete_recherche_inscrits .= ' LIMIT '.(($numero_page-1)*$taille_page).','.($taille_page);
 
$string_champs_mappage = implode(",", $champs_mappage);
$resultat_recherche_inscrits = $this->requeteTous($requete_recherche_inscrits);
 
$requete = 'SELECT '.$champs_mappage['champ_id'].
' FROM '.$annuaire['informations']['aa_bdd'].'.'.$annuaire['informations']['aa_table'].
' ORDER BY '.$champs_mappage['champ_id'].
' LIMIT '.(($numero_page-1)*$taille_page).','.($taille_page);
 
$resultat = $this->requeteTous($requete);
foreach ($resultat as $colonne) {
$annuaire['inscrits'][] = $colonne;
if(!$resultat_recherche_inscrits) {
$resultat_recherche_inscrits = array();
}
 
return $annuaire;
return array('total' => $nb_inscrits, 'resultat' => $resultat_recherche_inscrits) ;
}
 
/**