Bonjour à tous, je vais essayer de vous exposer mon problème : je developpe un module de recherche pour une application intranet de surveillance réseau. Cette application possède plusieurs tables dont chacune est préfixée celon la syntaxe suivante : "APPLI_XXXX" afin de différencier l'application à laquelle elle est ratachée. Par exemple j'ai des tables ayant pour préfixe "SURV_" qui sont toutes les tables liées à la surveillance des materiels ou encore "INTER_" pour les interventions sur le materiel.
Ma page de recherche propose a l'utilisateur de valider des checkbox pour choisir un groupe de table ou la recherche s'effectue ( SURV_, INTER_ etc) ensuite je recupere dynamiquement toute les tables ayant pour prefixe la valeur des checkbox et je construit des objets tables (classe perso) qui me permettent de stocker toutes les informations de structure sur la table (nom table, liste des colonnes, type etc). Enfin je construit ma requette en fonction des tables et des mots clés demandés. Jusqu'ici tout va bien mais lorsque je veux recuperer les valeurs retournés par la requette sa ce complique car en fonction des groupes de tables demandés je n'ai pas les meme colonnes.
Ce code ne marche mais donne l'idée de ce que je veux obtenir : pouvoir récuperer la valeur de chaque colonne en fonction de la table (ligne 13 et 14). Le but de ce module est d'etre le plus évolutif et adaptatif possible c'est à dire que si on ajoute un groupe de table ayant pour préfixe "POUET_" la recherche pourra etre effectué dedans sans modifications.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 foreach ($listTable as $table) { $query = $table->getSearchQuery($tabCritere); include("$rep/select.php"); reset($results); while($res = each($results)) { for($j=0;$j<$table->getSizeListColumn();$j++) { $pouet = "[\"$table->getColumn($j)\"]"; $obj=$res[1].$pouet; echo $obj."<br/>"; } } }
Je ne sais pas si j'ai été clair mais je reste à votre disposition pour toute précision. Merci de m'avoir lu.
Partager