width:auto ?
sinon un div dans la cellule ...
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
en fait je voudrais que cela ecartela cellule en largeur et non en hauteur
merci
je le mets ou le width:auto
ben déja ton tableau en largeur globale la balise table tu as quoi comme largeur ?
ensuite pour chaque td concerné colle leur une largueur ...
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
en fait j'ai repris une class tableau sur le net et c un vrai bordel mais ca marche sauf ca
et en fait mon probleme vient qu'il a l'air de reconnaitre les espaces comme des retours a lal ligne ?
bizar
voila la classe:
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194 <?php // Classe pour la production de tableaux HTML class Tableau { // ---- Partie privée : les constantes et les variables var $nb_dimensions; // Tableau des valeurs à afficher var $tableau_valeurs; // Tableaux des entêtes var $entetes, $options_lig, $options_col; // Options de présentation pour la table. A compléter. var $options_tables, $couleur_paire, $couleur_impaire, $csg, $affiche_entete, $repetition_ligne=array(), $option_dim=array(); // Constante pour remplir les cellules vides var $VAL_DEFAUT=" "; // Constructeur function Tableau ($nb_dimensions=2, $tab_attrs=array()) { // Initialisation des variables privées $this->tableau_valeurs = array(); $this->options_tables=$this->couleur_paire=$this->couleur_impaire=""; // Initialisation de la dimension. Quelques tests s'imposent... $this->nb_dimensions=$nb_dimensions; // Initialisation des tableaux d'entêtes pour chaque dimension for ($dim=1; $dim <= $this->nb_dimensions; $dim++) { $this->entetes[$dim] = array(); $this->affiche_entete[$dim] = TRUE; } // Attributs de la balise <TABLE> $this->ajoutAttributsTable($tab_attrs); } // Méthode ajoutant des attributs HTML pris dans un tableau function ajoutAttributsTable($tab_attrs=array()) { foreach ($tab_attrs as $nom_attr => $val_attr) $this->options_tables .= " $nom_attr='$val_attr' "; } // Méthodes définissant les couleurs paire et impaire function setCouleurPaire($couleur) { $this->couleur_paire = $couleur; } function setCouleurImpaire($couleur) { $this->couleur_impaire = $couleur; } // Méthode permettant d'afficher ou non un entête function setAfficheEntete($dim, $bool) { $this->affiche_entete[$dim] = $bool; } // Méthode permettant de répéter n fois l'affichage d'une ligne function setRepetitionLigne($dim, $cle, $nb_repetitions) { $this->repetition_ligne[$dim][$cle] = $nb_repetitions; } // Méthode indiquant des options pour une ligne ou une colonne function setOption ($dim, $cle, $options=array()) { foreach ($options as $option => $valeur) $this->options[$dim][$cle][$option] = $valeur; } // Méthode permettant d'afficher le coin supérieur gauche function setCoinSuperieurGauche($texte) { $this->csg = $texte; } // Méthode définissant des attributs pour les entêtes, lignes, // colonnes: à faire!! function ajoutAttributsEntete($options) {} function ajoutAttributsLigne($cle_ligne, $options) {} function ajoutAttributsColonne($cle_colonne, $options) {} // TABLEAU A DEUX DIMENSIONS: ajout d'une valeur dans une cellule function ajoutValeur($cle_ligne, $cle_colonne, $valeur) { // Maintenance des entêtes if (!array_key_exists($cle_ligne, $this->entetes[1])) $this->entetes[1][$cle_ligne] = $cle_ligne; if (!array_key_exists($cle_colonne, $this->entetes[2])) $this->entetes[2][$cle_colonne] = $cle_colonne; // Stockage de la valeur $this->tableau_valeurs[$cle_ligne][$cle_colonne] = $valeur; } // TABLEAU A N DIMENSIONS: ajout d'une valeur dans une cellule // Le premier paramètre est un tableau qui contient les clés. // Par exemple: array(1=>"Cle1", 2=>"Cle2", 3=>"Cle3") function ajoutValeurDimN($position, $valeur) { // On construit les coordonnées au fur et à mesure $coord = ""; for ($dim=1; $dim <= $this->nb_dimensions; $dim++) { $cle = $position[$dim]; // Par défaut, les entêtes valent la clé (si elles n'existent pas) if (!array_key_exists($cle, $this->entetes[$dim])) $this->entetes[$dim][$cle] = $cle; $coord .= "['$cle']"; } // On construit la commande et on l'exécute eval ("\$this->tableau_valeurs$coord='$valeur';"); } // Méthode définissant un entête, avec texte function ajoutEntete($dimension, $cle, $texte) { // Stockage de la chaîne servant d'entête $this->entetes[$dimension][$cle] = $texte; } // Production du tableau HTML: ne marche qu'en dimension 2!! // A FAIRE: généraliser cette fonction pour obtenir les // tableaux A, B, C, D présentés dans le livre function tableauHTML() { $chaine = $ligne = ""; /* Pour afficher les tableaux d'entêtes. print_r ($this->entetes[1]); print_r ($this->entetes[2]); */ // Est-ce qu'on affiche le coin supérieur gauche? if ($this->affiche_entete[1]) $ligne = "<th>$this->csg</th>"; // Création des entêtes de colonnes (dimension 2) if ($this->affiche_entete[2]) { foreach ($this->entetes[2] as $cle => $texte) $ligne .= "<TH>$texte</TH>"; // Ligne des entêtes. $chaine = "<TR>$ligne</TR>\n"; } $i=0; // Boucles imbriquées sur les deux tableaux de clés foreach ($this->entetes[1] as $cle_lig => $enteteLig) // Lignes { if ($this->affiche_entete[1]) $ligne = "<TH>$enteteLig</TH>"; else $ligne = ""; $i++; foreach ($this->entetes[2] as $cle_col => $enteteCol) // Colonnes { // On prend la valeur si elle existe, sinon le défaut if (isSet($this->tableau_valeurs[$cle_lig][$cle_col])) $valeur = $this->tableau_valeurs[$cle_lig][$cle_col]; else $valeur = $VAL_DEFAUT; // On place la valeur dans une cellule $ligne .= "<TD>$valeur</TD>\n"; } // Eventuellement on tient compte de la couleur if ($i % 2 == 0 and !empty($this->couleur_paire)) $options_lig = " BGCOLOR='$this->couleur_paire' "; else if ($i % 2 == 1 and !empty($this->couleur_impaire)) $options_lig = " BGCOLOR='$this->couleur_impaire' "; else $options_lig = ""; // Doit-on appliquer une option? if (isSet($this->options[1][$cle_lig])) foreach ($this->options[1][$cle_lig] as $option => $valeur) $options_lig .= " $option='$valeur' "; $ligne = "<TR$options_lig>$ligne</TR>\n"; // Prise en compte de la demande de répétition d'une ligne if (isSet($this->repetition_ligne[1][$cle_lig])) { $rligne = ""; for ($i=0; $i < $this->repetition_ligne[1][$cle_lig]; $i++) $rligne .= $ligne; $ligne = $rligne; } // On ajoute la ligne à la chaîne $chaine .= $ligne; } // Placement dans la balise TABLE, et retour return "<TABLE $this->options_tables>\n$chaine</TABLE>\n"; } } ?>
Salut,
1)![]()
2) dans ce forum ton code php ne nous intéresse pas. Si tu as un code à nous montrer c'est le code HTML obtenu depuis ce code PHP.
3) Je ne comprends pas ton problème. Au final est-il (X)HTML/CSS ou PHP?
bien les 2
ya du php et du html
normal
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager