Tableau

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Tableau

Re: Tableau

par moogli » 02 mai 2013, 10:11

de rien

si c'est résolu peux tu cliquer sur le bouton "résolu" en haut du sujet ? :)


merci

Re: Tableau

par Hélène » 30 avr. 2013, 15:00

merci beaucoup moogli

Re: Tableau

par moogli » 30 avr. 2013, 13:31

ton html est mal formé.
le th c'est dans un thead, je ne sais pas trop comment c'est interprété par le navigateur dans ton cas.

Les données c'est avec des td dans le tbody.
=>
<table>
	<thead>
		<tr> 
			<th class="alignleft bold">Par mois</th> 
			<th class="alignCenter bold">Ann&eacutee&nbspen Cours</th>
			<th class="alignCenter bold">Ann&eacutee&nbsp pr&eacutec&eacutedente</th>
			<th class="alignCenter bold">% Evol</th> 
			<th class="alignCenter bold">Objectifs&nbspAnn&eacutee</th>
			<th class="alignCenter bold">% An/Obj</th>
		</tr>
	</thead>
	<tbody>

	</tbody>
</table>
du coup la CSS devient (pour cette partie la)
.alignLeft {
	text-align: left;
}

.alignCenter{
	text-align: center;
}

.bold {
	font-weight: bold;
}
du coup le code devient
<table>
    <thead>
    <tr>
        <th class="alignLeft bold">Par mois</th>
        <th class="alignCenter bold">Ann&eacutee&nbspen Cours</th>
        <th class="alignCenter bold">Ann&eacutee&nbsp pr&eacutec&eacutedente</th>
        <th class="alignCenter bold">% Evol</th>
        <th class="alignCenter bold">Objectifs&nbspAnn&eacutee</th>
        <th class="alignCenter bold">% An/Obj</th>
    </tr>
    </thead>
    <tbody>
    <?php
    $cf = p(odbc_result($rs, 'EvolAnnee_1_2_2'));
    $cf2 = p(odbc_result($rs, 'EvolAnnee_1_2_1_2'));
    echo '<tr>
            <td class="alignLeft">Janvier</td>
            <td>' . number_format(odbc_result($rs, 'JanvierAN'), 0, '', ' ') . '</td>
            <td>' . number_format(odbc_result($rs, 'JanvierAN1'), 0, '', ' ') . '</td>
            <td>' . $cf . '%</td>
            <td>' . number_format(odbc_result($rs, 'JanPrev'), 0, '', ' ') . '</td>
            <td>' . $cf2 . '%</td>
        </tr>';

    $cf = p(odbc_result($rs, 'EvolAnnee_2_2_2'));
    $cf2 = p(odbc_result($rs, 'EvolAnnee_2_2_1_2'));
    echo '<tr>
            <td class="aligneLeft">F&eacute;vrier</td>
            <td>' . number_format(odbc_result($rs, 'FevrierAN'), 0, '', ' ') . '</td>
            <td>' . number_format(odbc_result($rs, 'FevrierAN1'), 0, '', ' ') . '</td>
            <td>' . $cf . '%</td>
            <td>' . number_format(odbc_result($rs, 'FevPrev'), 0, '', ' ') . '</td>
            <td>' . $cf2 . '%</td>
        </tr>';
    ?>
    </tbody>
</table>
quand au reste j'ai l'impression qu'il y a un problème de conception, autant au niveau de la source de donnée que de l'utilisation dans le code ?
- tu fais 12 fois les 8 lignes du echo ?
- Les noms de champs sont pas super explicite.

si j'ai bien compris la logique de la chose il y a moyen de réduire le code, tout en le rendant un poil plus fexible.
<table>
    <thead>
    <tr>
        <th class="alignLeft bold">Par mois</th>
        <th class="alignCenter bold">Ann&eacutee&nbspen Cours</th>
        <th class="alignCenter bold">Ann&eacutee&nbsp pr&eacutec&eacutedente</th>
        <th class="alignCenter bold">% Evol</th>
        <th class="alignCenter bold">Objectifs&nbspAnn&eacutee</th>
        <th class="alignCenter bold">% An/Obj</th>
    </tr>
    </thead>
    <tbody>
    <?php
    $mois = [1 => 'Janvier', 2 => 'F&eacute;vrier', 3 => 'Mars', 4 => 'Avril', 5 => 'Mai', 6 => 'Juin', 7 => 'Juillet', 8 => 'Ao&ucirc;t', 9 => 'Septembre', 10 => 'Octobre', 11 => 'Novembre', 12 => 'D&eacute;cembre'];
    foreach ($mois as $index => $value) {
        $cf = p(odbc_result($rs, 'EvolAnnee_' . $index . '_2_2'));
        $cf2 = p(odbc_result($rs, 'EvolAnnee_' . $index . '_2_1_2'));
        $fldName = str_replace(['&eacute;', '&ucirc;'], ['e', 'u'], $value);
        echo '<tr>
            <td class="alignLeft">' . $value . '</td>
            <td>' . number_format(odbc_result($rs, $fldName . 'AN'), 0, '', ' ') . '</td>
            <td>' . number_format(odbc_result($rs, $fldName . 'AN1'), 0, '', ' ') . '</td>
            <td>' . $cf . '%</td>
            <td>' . number_format(odbc_result($rs, substr($fldName, 0, 3) . 'Prev'), 0, '', ' ') . '</td>
            <td>' . $cf2 . '%</td>
        </tr>';
    }
    ?>
    </tbody>
</table>
@+

Re: Tableau

par dix2 » 30 avr. 2013, 11:47

Pour quoi faire?
Eh Manu, tu descends ?

Re: Tableau

par Hélène » 30 avr. 2013, 11:41

Si je fais ça
<th style="font-weight:bold;">texte</th>
ça marche j'ai bien le texte en gras...et pourtant dans mon css j'ai bien mis ça
th{
text-align:right;
font-size:30px;
font-weight:bold;
}
wtf ? :'(
j'ai plus de 4000 lignes de th, je peux pas faire le style dans chaque balise >_< !

Re: Tableau

par Hélène » 30 avr. 2013, 11:32

Pour quoi faire?

Re: Tableau

par dix2 » 30 avr. 2013, 11:30

installe firebug

Re: Tableau

par Hélène » 30 avr. 2013, 11:26

voici mon code (désolée c'est le borldel, mais ça va jusque Décembre puis le tableau se ferme </table> les seules choses que j'ai fais c'est des align-text, parce'que il faut que les mois soit à gauche, les titres centré, et les nombres à droite (fais via le css)
echo "<table><tr> <th style='text-align:left;'>Par mois</th> <th style='text-align:center;'>Ann&eacutee&nbspen Cours</th>
					<th style='text-align:center;'>Ann&eacutee&nbsp pr&eacutec&eacutedente</th> <th style='text-align:center;'>% Evol</th> 
					<th style='text-align:center;'>Objectifs&nbspAnn&eacutee</th>  <th style='text-align:center;'>% An/Obj</th></tr>";
					
					$cf=p(odbc_result($rs,"EvolAnnee_1_2_2"));
					$cf2=p(odbc_result($rs,"EvolAnnee_1_2_1_2"));
					echo "<tr><th style='text-align:left;'>Janvier</th>
								<th>".number_format(odbc_result($rs,"JanvierAN"),0,""," ")."</th>
								<th>".number_format(odbc_result($rs,"JanvierAN1"),0,""," ")."</th>
								<th>".$cf."%</th>
								<th>".number_format(odbc_result($rs,"JanPrev"),0,""," ")."</th>
								<th>".$cf2."%</th></tr>";
					
					$cf=p(odbc_result($rs,"EvolAnnee_2_2_2"));
					$cf2=p(odbc_result($rs,"EvolAnnee_2_2_1_2"));
					echo "<tr><th style='text-align:left;'>F&eacute;vrier</th>
							<th>".number_format(odbc_result($rs,"FevrierAN"),0,""," ")."</th>
							<th>".number_format(odbc_result($rs,"FevrierAN1"),0,""," ")."</th>
							<th>".$cf."%</th>
							<th>".number_format(odbc_result($rs,"FevPrev"),0,""," ")."</th>
							<th>".$cf2."%</th></tr>";
et voici le css (déjà dans le body j'ai mis en gras donc tout devrait être en gras non? j'ai bien mis les balises <body></body>
body {
width:100%;
text-align:center;
font-family: sans-serif;
font-size: 50px;
font-style: bold;
}

table {
border: border-collapse:collapse;
}

th{
text-align:right; //pour les nombres seulement
font-size:30px;
font-weight:bold; 
}
	

Re: Tableau

par moogli » 30 avr. 2013, 11:06

salut,

peux tu nous indiquer :
- la classe css complète (?truc { ... }
- un exemple d'utilisation e cette classe css ;)

est ce que tu n'aurais pas une autre définition, dans la feuille (ou une balise style dans le code), qui surchargerait celle si ?

@+

Re: Tableau

par Hélène » 30 avr. 2013, 10:42

C'est du css donc pas besoin de balise style o.o, mais j'ai correctement appelé la feuille css les autres modifications marchent :p
et ta solution ne marche pas désolée
:
font-weight:bold;
  white-space:nowrap;
ne change rien :'(

Re: Tableau

par Invité » 30 avr. 2013, 10:11

le code que tu as donné devrait marcher
tu l'as bien mis entre 2 balises <style> ?

Re: Tableau

par Invité » 30 avr. 2013, 09:52

td {
  font-weight:bold;
  white-space:nowrap;
}

Re: Tableau

par Hélène » 30 avr. 2013, 09:01

j'ai trouvé la solution merci, mais je n'arrive toujours pas à mettre en gras :'(

Re: Tableau

par dix2 » 30 avr. 2013, 08:59

dix2 mon nombre n'est pas sous cette forme mais dans une variable dont la valeur change tout le temps
il suffit de faire un str_replace :
$nombre = str_replace(' ', '&nbsp;', $nombre);

@+
dix2

Re: Tableau

par Hélène » 30 avr. 2013, 08:07

dix2 mon nombre n'est pas sous cette forme mais dans une variable dont la valeur change tout le temps, et sinon merci le width : xem; marche merci.
mais je n'arrive pas à mettre en gras ce qu'il y a écrit dans mon tableau ! :'(
table {
font-weight:bold;
}

tr {
font-weight:bold;
}

th{
font-weight:bold;
}
J'ai essayé tout ça et ça marche pas :'(