Page 1 sur 1

PB avec la fonction include et des morceau de tableau html

Posté : 27 janv. 2006, 14:27
par Invité
Bonjour, j'ai un probleme d'utilisation de la fonction include. Dans la page ou je l'appelle me sert a modifier la structure d'une tableau html et
les valeurs qu'il contient, mais au lieu de cela elle transforme le tableau de maniere non prevu ( certains lignes deviennent colonnes ou des
dimensions de cellules ne sont plus respectee).
En fait la j'ai un gros doute sur l'utilisation de la fonction include pour ajouter du code html.
Pour ce que vous puissiez controller la logique ou l'illogisme de mon raisonnement voici le code

Fichier index
<HTML>
<HEAD> ...</HEAD> 
<BODY>
<TABLE>
<TR> <TD> HEIGHT=90 WIDTH=120> </TD> <TD COLSPAN=5> ... </TD> <TD> </TD> </TR>
<TR> <TD HEIGHT=30 WIDTH=120>1 </TD> <TD HEIGHT=30>2 </TD> <TD>3 </TD> <TD>4 </TD> <TD>5 </TD> <TD>6 </TD> <TD>7 </TD> </TR>
<TR>
<?php
 $cible = $_GET['cible'];
 if ((isset($cible) == FALSE) or ($cible == "truc") or ($cible == "bidule"))
 {
 include ("generale.php");
 }
 else
 {
 include ("menu.php");
 }
?>
</TR>
<TR>
<TD COLSPAN=7> </TD> // cette cellule apparait en ligne
</TR>
</TABLE>
</BODY>
</HTML>


Fichier generale

<TD ROWSPAN=14 COLSPAN=7>
<?php
 $cible = $_GET['cible'];
 if ($cible == "truc")
 { ?>
   <TABLE HEIGHT="100%" WIDTH="100%">
   <TR> <TD> ...  </TD> </TR>
   </TABLE>
<?php
 }
 else
 { ?>
   <TABLE HEIGHT="100%" WIDTH="100%">
   <TR> <TD> ...  </TD> </TR>
   </TABLE>
<?php
 } ?>
</TD>
Le fichier menu je le presente pas car sans faire appel a lui les disfonctionnement apparaissent.
Merci de l'eclairer de vos lumiere et vos conseils

Posté : 27 janv. 2006, 15:03
par charabia
Ton code est illisible. Utilises les bbcode.

Rien qu'en jetant un coup d'oeil, tu a des balises qui se ferment mal. Reprends ton code et corriges au moins ton HTML.

Par exemple :

Code : Tout sélectionner

<TD> HEIGHT=90 WIDTH=120>
De plus tes rowspan et colspan ne sont pas bons non plus...à revoir.

Posté : 27 janv. 2006, 16:19
par Invité
Oui j'ai pas bien copie voici en plus clair
<HTML>
<HEAD> ...</HEAD> 
<BODY>
<TABLE>
<TR> <TD HEIGHT=90 WIDTH=120> </TD> <TD COLSPAN=5> ... </TD> <TD> </TD> </TR>
<TR> <TD HEIGHT=30 WIDTH=120>1 </TD> <TD HEIGHT=30>2 </TD> <TD>3 </TD> <TD>4 </TD> <TD>5 </TD> <TD>6 </TD> <TD>7 </TD> </TR>
<TR>
<?php
 $cible = $_GET['cible'];
 if ((isset($cible) == FALSE) or ($cible == "truc") or ($cible == "bidule"))
 {
 include ("generale.php");
 }
 else
 {
 include ("menu.php");
 }
?>
</TR>
<TR>
<TD COLSPAN=7> </TD> // cette cellule apparait en ligne
</TR>
</TABLE>
</BODY>
</HTML>


Fichier generale

<TD ROWSPAN=14 COLSPAN=7>
<?php
 $cible = $_GET['cible'];
 if ($cible == "truc")
 { ?>
   <TABLE HEIGHT="100%" WIDTH="100%">
   <TR> <TD> ...  </TD> </TR>
   </TABLE>
<?php
 }
 else
 { ?>
   <TABLE HEIGHT="100%" WIDTH="100%">
   <TR> <TD> ...  </TD> </TR>
   </TABLE>
<?php
 } ?>
</TD>
par contre en quoi les rowspan et colspan sont pas bien ecrit ? car il se pourrait bien que le code en faute soit le code html

Posté : 27 janv. 2006, 16:37
par zeus
modération : pense à utiliser les balises PHP plutot que quote, c'est plus clair à comprendre ;)

J'ai modifié pour toi sur tes précédents post

Posté : 27 janv. 2006, 16:45
par charabia
Ton code remanié donnerait :

Code : Tout sélectionner

<table border="1"> <tr> <td height="90" width="120">&nbsp;</td> <td colspan="5">&nbsp;</td> <td>&nbsp;</td> </tr> <tr> <td height="30" width="120">1</td> <td height="30">2</td> <td>3</td> <td>4</td> <td>5</td> <td>6</td> <td>7</td> </tr> <tr> <td rowspan="14" colspan="7">&nbsp;</td> </tr> <tr> <td colspan="7">&nbsp;</td> </tr> </table>
Pourquoi avoir un rowspan="14" ? Normalement il n'y a pas lieu qu'il soit là.

Posté : 27 janv. 2006, 17:12
par Invité
Merci de ton aide. Je vais tester ... Mais pour comprendre pourquoi tu utilise &nbsp; dans les cellules et meme &nbsp;tt pour une cellule ?
Normalement &nbsp insere des "espaces" mais quelle en est l'utilite dans ce cas ?
L'utilisation de ";" fait parti de la commande ?
L'Ajout de "tt" a la fin sert a faire apparaitre "tt" dans la cellule ?

Posté : 27 janv. 2006, 17:28
par Invité
Le rowspan sert a fusionner les cellules centrales pour creer une zone ou je compte placer un tableau. Je fusionne toutes les colonnes a partir de la premiere et toutes les lignes a partir de la 2eme jusqu'a l'avant derniere.
Je pense comme toi j'ai du me planter la il va falloir que je revise les tableau html

Posté : 27 janv. 2006, 18:06
par charabia
Merci de ton aide. Je vais tester ... Mais pour comprendre pourquoi tu utilise &nbsp; dans les cellules et meme &nbsp;tt pour une cellule ?
Normalement &nbsp insere des "espaces" mais quelle en est l'utilite dans ce cas ?
L'utilisation de ";" fait parti de la commande ?
L'Ajout de "tt" a la fin sert a faire apparaitre "tt" dans la cellule ?
Oups le tt c'était pour faire mon test. Les &nbsp; rajoutent en effet des espaces. Lorsque tu mets une bordure (pour test) comme j'ai mis, si le TD est vide <td></td>, l'affichage n'est pas génial. C'est pourquoi j'ai rajouté le &nbsp; pour lui indiquer qu'il y a une cellule.

C'est sûr que tu t'es trompé dans ton tableau ;)

Posté : 27 janv. 2006, 18:12
par Invité
Le rowspan sert a fusionner les cellules centrales pour creer une zone ou je compte placer un tableau. Je fusionne toutes les colonnes a partir de la premiere et toutes les lignes a partir de la 2eme jusqu'a l'avant derniere.
Je pense comme toi j'ai du me planter la il va falloir que je revise les tableau html
normalement le tableau comporte 1+14+1 lignes

Posté : 27 janv. 2006, 18:17
par charabia
Le code que j'ai repris vient de ta source et je ne vois pas 14 lignes...Reprends ton tableau entier avant d'intégrer du PHP. Construis le correctement avant.

Posté : 27 janv. 2006, 18:18
par Invité
C'est sûr que tu t'es trompé dans ton tableau ;)
yep , mais apres avoir teste ton code, il se comporte comme le miens, cad que la derniere ligne se met en colonne :(

Posté : 27 janv. 2006, 18:20
par charabia
J'ai juste corrigé ton code, mais ce n'est peut-être pas l'affichage que tu désires au final. Si tu peux "dessiner" le schéma du tableau que tu veux, je verrais mieux.

Posté : 27 janv. 2006, 18:29
par Invité
C'est bon merci charibia pour ton aide , tu m'a ouvert les yeux miracle j'ai vu mon erreur, le nombre de ligne que je mettais dans rowsapn n'etait pas le bon voici la version corrigee :
<table height="90%" width="90%" border="1">
<tr> 
   <td height="90" width="120">&nbsp;</td> 
   <td colspan="5">&nbsp;</td> 
   <td>&nbsp;</td> 
</tr> 
<tr> 
   <td height="30" width="120">1</td> 
   <td height="30">2</td> 
   <td>3</td> 
   <td>4</td> 
   <td>5</td> 
   <td>6</td> 
   <td>7</td> 
</tr> 
<tr> 
   <td height="420" colspan="7">&nbsp;</td>
</tr> 
<tr> 
   <td colspan="7">&nbsp;</td> 
</tr> 
</table>
pourquoi je m'obstinenais a vouloir ajouter des lignes lol merci encore :)

Posté : 27 janv. 2006, 18:30
par charabia
lol bé voui c'est bien ce que je te disais, il fallait enlever le rowspan ;)