Bonjour,

j'aurais aimé savoir ce que vous pensez du code en terme de lisibité et si vous avez des suggestions a faire pour améliorer le codage.

Merci

Déclaration de toutes les champs,tables de la bdd
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
class variable {
 
	//Initialisation des variables
		var $table;             //$table[]=Nom de la table (index numérique)
		var $lib_table;         //$lib_table[]=Nom logique de la table (index numérique)
		var $lib_champs;        //$lib_champs[]=Libellé logique des champs à afficher (ordre modulable) (index enfonction de la table)
		var $champs;            //$champs[]=Liste des champs dans la base de données (ordre définit dans la bdd correspondance avec les champs à afficher) (index enfonction de la table)
 
	    var $type_utilisateur;  //Syntaxe -> Identifiant pour les ID auto-Incréments
	                            //           Clé_ pour les clées étrangères
	                            //           Cacher_ pour les champs à masquer des affichages
 
	//Constructeur
	function variable(){
		$this->table[1]="Personne";
		$this->lib_table[1]="Personne";
		$this->lib_champs["Personne"]=array('Login Utilisateur', 
							 'Civilité', 
							 'Nom', 
							 'Prenom', 
							 'Téléphone', 
							 'E-mail', 
							 'Mot de Passe Utilisateur', 
							 'Cacher_Type utilisateur',
                                                         'Clé_ville',
                                                         'Clé_Organisme'
							 );	 
		$this->champs["Personne"]=array('Login Utilisateur'=>'LOGIN_PERSONNE',
						 'Civilité'=>'CIVILITE_PERSONNE', 
						 'Nom'=>'NOM_PERSONNE', 
						 'Prenom'=>'PRENOM_PERSONNE', 
						 'Téléphone'=>'TEL_PERSONNE', 
						 'E-mail'=>'MEL_PERSONNE', 
						 'Mot de Passe Utilisateur'=>'PASS_PERSONNE', 
						 'Cacher_Type utilisateur'=>'TYPE_UTILISATEUR'
                                                 'Clé_ville'=>'ID_VILLE',
                                                 'Clé_Organisme'=>'ID_ORGANISME'
						 );

Exemple de traitement
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//Formulaire ajout : Objet connexion base de données, objet déclarartion de variable, id de la table, $type d'utilisateur (facultatif), données de la table
function Ajout($mysql, $variable, $n, $type='null', $value=''){
	//Libellé de la table concernée
	$lib_n=$variable->table[$n];
	$formulaire="";
	//Pour chaque champs de la bdd
	foreach ($variable->lib_champs[$lib_n] as $lib){
		//Value activée ou désactivée en fonction des paramètres : $value[$variable->champs[nom_table][libellé_champs]]
		$valeur='';
		if (isset($value[$variable->champs[$lib_n][$lib]]))
			$valeur=$value[$variable->champs[$lib_n][$lib]];
 
		//Afficher en caché le champs de l'identifiant
		if (ereg("Identifiant", $lib))
			$formulaire.='<input type="hidden" name="'.$variable->champs[$lib_n][$lib].'" value="'.$valeur.'">';
 
		//Construire les combos si c'est une clée étrangère
		elseif (ereg("Clé_", $lib)){
			$lib_type=$lib;
			//Supression du paramètre type_
			if (ereg($type, $lib))
				$lib_type=ereg_replace($type."_", "", $lib_type); 
			//Suppression du paramètre clé_
			$lib_type=ereg_replace("Clé_", "", $lib_type);
			//Construction de la combo en fonction du résultat
			if (!ereg('_', $lib_type)){
				//Construction de la requete combo selon la table personne ou autre
				if (ereg('Personne', $lib_type))
					$select=" select ".$variable->champs[$lib_type]['Login Utilisateur'].", ".$variable->champs[$lib_type]['Nom'];
				else
					$select=" select ".$variable->champs[$lib_type]['Identifiant'].", ".$variable->champs[$lib_type]['Libellé'];
				$from= " from ".$lib_type;
				$formulaire.='<tr><td>'.$lib_type.': </td><td>'.ComboTable($mysql, $variable, $select, $from, $variable->champs[$lib_n][$lib], $valeur).'</td></tr>';
			}
		}
 
		//Afficher en caché le champs ayant pour intituté caché		
		elseif (ereg("Cacher_Type", $lib) )
			$formulaire.='<input type="hidden" name="'.$variable->champs[$lib_n][$lib].'" value="'.$type.'">';
		elseif (ereg("Cacher", $lib) )
			$formulaire.='<input type="hidden" name="'.$variable->champs[$lib_n][$lib].'" value="'.$valeur.'">';
 
		//Initialisation basique
		else
			$formulaire.='<tr><td>'.$lib.': </td><td><input type="text" name="'.$variable->champs[$lib_n][$lib].'" value="'.$valeur.'"></td></tr>';
	}
	$formulaire.='<input type="hidden" name="n" value="'.$n.'">';
	return($formulaire);
}