PB avec la fonction include et des morceau de tableau html

Invité
Invité n'ayant pas de compte PHPfrance

27 janv. 2006, 14:27

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

Avatar du membre
ViPHP
ViPHP | 3008 Messages

27 janv. 2006, 15:03

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.

Invité
Invité n'ayant pas de compte PHPfrance

27 janv. 2006, 16:19

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

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

27 janv. 2006, 16:37

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
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Avatar du membre
ViPHP
ViPHP | 3008 Messages

27 janv. 2006, 16:45

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à.
Modifié en dernier par charabia le 27 janv. 2006, 18:07, modifié 1 fois.

Invité
Invité n'ayant pas de compte PHPfrance

27 janv. 2006, 17:12

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 ?

Invité
Invité n'ayant pas de compte PHPfrance

27 janv. 2006, 17:28

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

Avatar du membre
ViPHP
ViPHP | 3008 Messages

27 janv. 2006, 18:06

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 ;)

Invité
Invité n'ayant pas de compte PHPfrance

27 janv. 2006, 18:12

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

Avatar du membre
ViPHP
ViPHP | 3008 Messages

27 janv. 2006, 18:17

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.

Invité
Invité n'ayant pas de compte PHPfrance

27 janv. 2006, 18:18

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 :(

Avatar du membre
ViPHP
ViPHP | 3008 Messages

27 janv. 2006, 18:20

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.

Invité
Invité n'ayant pas de compte PHPfrance

27 janv. 2006, 18:29

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 :)

Avatar du membre
ViPHP
ViPHP | 3008 Messages

27 janv. 2006, 18:30

lol bé voui c'est bien ce que je te disais, il fallait enlever le rowspan ;)