Subversion Repositories Applications.annuaire

Rev

Rev 97 | Rev 109 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 97 Rev 98
Line 227... Line 227...
227
		// TODO faire une interface de gestion des champs de mappage
227
		// TODO faire une interface de gestion des champs de mappage
Line 228... Line 228...
228
 
228
 
229
		return $tableau_mappage ;
229
		return $tableau_mappage ;
Line 230... Line -...
230
	}
-
 
231
 
-
 
232
	/** Charge le nombre d'inscrits d'une table annuaire mappée
-
 
233
	 * @param int $identifiant l'identifiant de l'annuaire mappé
-
 
234
	 * @return int le nombre d'inscrits à un annuaire donné
-
 
235
	 *
-
 
236
	 */
-
 
237
   	public function chargerNombreAnnuaireListeInscrits($identifiant) {
-
 
238
 
-
 
239
		$requete_informations_annuaire = 	'SELECT aa_bdd, aa_table '.
-
 
240
					'FROM  annu_annuaire '.
-
 
241
					'WHERE aa_id_annuaire = '.$identifiant.' ';
-
 
242
		$resultat_informations_annuaire = $this->requeteUn($requete_informations_annuaire);
-
 
243
 
-
 
244
		if(!$resultat_informations_annuaire) {
-
 
245
			trigger_error('impossible de récupérer les informations de la table '.$identifiant);
-
 
246
		}
-
 
247
 
-
 
248
		$requete_nombre_inscrits = 'SELECT COUNT(*) as nom_inscrits'.
-
 
249
				' FROM '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'];
-
 
250
 
-
 
251
		if(!$resultat_informations_annuaire) {
-
 
252
			trigger_error('impossible de récupérer le nombre d\'inscrits de la table '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table']);
-
 
253
		}
-
 
254
 
-
 
255
		$resultat_nombre_inscrits = $this->requeteUn($requete_nombre_inscrits);
-
 
256
		return $resultat_nombre_inscrits['nom_inscrits'] ;
-
 
257
	}
230
	}
258
 
231
 
259
	/** Charge le nombre d'inscrits d'une table annuaire mappée en les groupant par départements
232
	/** Charge le nombre d'inscrits d'une table annuaire mappée en les groupant par départements
260
	 * @param int $identifiant l'identifiant de l'annuaire mappé
233
	 * @param int $identifiant l'identifiant de l'annuaire mappé
261
	 * @return array un tableau indexé par les numéros de departement contenant le nombre d'inscrits à chacun
234
	 * @return array un tableau indexé par les numéros de departement contenant le nombre d'inscrits à chacun
Line 385... Line 358...
385
	 * @param Array $champs_mappage les champs de mappage à retenir
358
	 * @param Array $champs_mappage les champs de mappage à retenir
386
	 * @param int $numero_page le numéro de la page demandée
359
	 * @param int $numero_page le numéro de la page demandée
387
	 * @param int $taille_page la taille de la page demandée
360
	 * @param int $taille_page la taille de la page demandée
388
	 *
361
	 *
389
	 */
362
	 */
390
   	public function chargerAnnuaireListeInscrits($identifiant, $champs_mappage, $numero_page = 1, $taille_page = 50) {
363
   	public function chargerAnnuaireListeInscrits($id_annuaire, $numero_page = 1, $taille_page = 50) {
Line 391... Line 364...
391
 
364
 
392
		$requete = 	'SELECT * '.
365
		$requete_informations_annuaire = 	'SELECT aa_bdd, aa_table '.
393
					'FROM  annu_annuaire '.
366
					'FROM  annu_annuaire '.
394
					'WHERE aa_id_annuaire = '.$identifiant.' ';
-
 
395
		$resultat = $this->requeteTous($requete);
-
 
396
		$annuaire = array();
-
 
397
		foreach ($resultat as $ligne) {
-
 
398
			$annuaire['informations'] = $ligne;
-
 
Line -... Line 367...
-
 
367
					'WHERE aa_id_annuaire = '.$id_annuaire.' ';
-
 
368
 
-
 
369
		$resultat_informations_annuaire = $this->requeteUn($requete_informations_annuaire);
-
 
370
				
-
 
371
		$champs_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
-
 
372
		
-
 
373
		$requete_nb_inscrits = 'SELECT COUNT( * ) as nb '.' FROM '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'];
-
 
374
 
-
 
375
		$resultat_nb_inscrits = $this->requeteUn($requete_nb_inscrits);
-
 
376
 
399
		}
377
		$nb_inscrits = 0;
-
 
378
		if($resultat_nb_inscrits) {
Line -... Line 379...
-
 
379
			$nb_inscrits = $resultat_nb_inscrits['nb'];
400
 
380
		}
Line 401... Line -...
401
		$annuaire['colonnes'] = $champs_mappage;
-
 
402
 
-
 
403
		$string_champs_mappage = implode(",", $champs_mappage);
-
 
404
 
381
 
Line 405... Line -...
405
		$requete = 'SELECT '.$champs_mappage['champ_id'].
-
 
406
				' FROM '.$annuaire['informations']['aa_bdd'].'.'.$annuaire['informations']['aa_table'].
382
		$requete_recherche_inscrits = 'SELECT '.$champs_mappage[0]['champ_id'].' FROM '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'];
407
				' ORDER BY '.$champs_mappage['champ_id'].
383
		$requete_recherche_inscrits .= ' LIMIT '.(($numero_page-1)*$taille_page).','.($taille_page);
408
				' LIMIT '.(($numero_page-1)*$taille_page).','.($taille_page);
384
 
Line 409... Line 385...
409
 
385
		$resultat_recherche_inscrits = $this->requeteTous($requete_recherche_inscrits);
410
		$resultat = $this->requeteTous($requete);
386
 
Line 411... Line 387...
411
		foreach ($resultat as $colonne) {
387
		if(!$resultat_recherche_inscrits) {
412
			$annuaire['inscrits'][] = $colonne;
388
			$resultat_recherche_inscrits = array();
413
		}
389
		}