Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
863 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Problème d'affichage d'un tableau

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème d'affichage d'un tableau

n°1541196
acorsa
Posté le 11-04-2007 à 11:23:33  profilanswer
 

Bonjour,
J'ai un problème mors de l'affichage de mon tableau sous IE alors que sous Firefox tout est nickel.
Voici mon code:

Code :
  1. <div style="width:100%;overflow:auto;">
  2.       <table id=mainTable1 cellpadding="0" cellspacing="0" style="width:100%;overflow:hidden;">
  3.         <tr>
  4.      <?echo "<td id=$th width=33px>Date</td>
  5.     <td id=$th width=13px>Lg</td>
  6.     <td id=$th width=57px>File</td>
  7.     <td id=$th width=57px>Type</td>
  8.     <td id=$th width=119px>Source text</td>
  9.     <td id=$th width=135px>Proposal</td>
  10.     <td id=$th width=133px>Query/Comment</td>
  11.     <td id=$th width=\"1%\">Status</td>";?>
  12.         </tr>
  13.       </table>
  14.     </div>
  15.    
  16.     <div style="width:100%; height:210px; overflow-Y:auto;">
  17.       <table id=mainTable1  cellpadding="0"  cellspacing="0" style="border-collapse: collapse; width:100%; overflow:; ">
  18.    <?
  19.            while($query51 and $data = mysql_fetch_array($query51)) {
  20.               $author=$data["Translator_name"];
  21.               $language=$data["language_name"];
  22.               $doc_type=$data["Query_type"];             
  23.               $doc_name=str_replace("\"\"","\"",$data["Doc_name"]);
  24.               $query=str_replace("\"\"","\"",$data["Query_text"]);
  25.               $reference=str_replace("\"\"","\"",$data["Reference"]);
  26.               $proposal=str_replace("\"\"","\"",$data["Proposal"]);
  27.               $replied=$data["Replied"];
  28.               $date=$data["Creation_date"];
  29.               $query_status=$data["Query_status"];
  30.               $query_id=$data["query_id"]; 
  31.              
  32.               $nb=mysql_num_rows($query51);
  33.              
  34.               $query53=mysql_query("select distinct ISO from Languages where language_name='$language'" );
  35.               while($query53 and $data = mysql_fetch_array($query53)){
  36.                 $iso=$data["ISO"];
  37.               }
  38.               if ($browser=='Firefox'){
  39.                 $size_date='50px';
  40.                 $size_lg='28px';
  41.                 $size_doc='80px';
  42.                 $size_type='80px';
  43.                 $size_src='160px';
  44.                 $size_proposal='180px';
  45.                 $size_query='180px';
  46.               }
  47.               else if ($browser=='Internet Explorer'){
  48.                 $size_date='50';
  49.                 $size_lg='28';
  50.                 $size_doc='80';
  51.                 $size_type='80';
  52.                 $size_src='160';
  53.                 $size_proposal='180';
  54.                 $size_query='180';               
  55.               }
  56.    
  57.               echo "<tr width=\"100%\">
  58.               <td width=$size_date><div class=fix_cell><font size=2>$date</font</div></td>
  59.               <td width=$size_lg><div class=fix_cell>$iso</div></td>
  60.               <td width=$size_doc><div class=fix_cell>$doc_name</div></td>
  61.               <td width=$size_type><div class=fix_cell>$doc_type</div></td>
  62.               <td width=$size_src><div class=fix_cell>$reference</div></td>
  63.               <td width=$size_proposal><div class=fix_cell>$proposal</div></td>
  64.               <td width=$size_query><div class=fix_cell>
  65.                 <a href=\"popup.php?query_id=$query_id\" onclick=\"return !window.open(this.href,null,'width=610,height=690, status=no, directories=no, toolbar=no, location=no, menubar=no, scrollbars=yes, resizable=yes');\"><font color=\"blue\">$query</font></a>     
  66.               </div></td>
  67.               <td id=td1 width=2% >";
  68.                 if ($status==1) echo "<img src=\"./../img/new.jpg\" title=\"New query\"></td>";
  69.                 else if ($status==4) echo "<img src=\"./../img/customer.gif\" width=\"21px\" height=\"30px\" title=\"Sent to customer\"></td>";
  70.                 else if (($status==3)||($status==5)) echo"<img src=\"./../img/reply.gif\" title=\"Answered\"></td>";
  71.                 else if ($status==2) echo "<img src=\"./../img/sablier3.jpg\" title=\"Pending\"></td>";
  72.                
  73.                 if ($nb<=4) echo "<td width=\"2%\"></td>";
  74.           }
  75.         ?>
  76.   </table>
  77. </div>


 
Je sais c'est un peu compliqué mais c'est pcq que je dois avoir une scrollbar pour le tableau et pour certaines cases si besoin. Le problème ici c'est que les cases prennent un scrollbar si le contenu est trop grand sauf la case "File" qui contient le nom du document et dont le code est:

Code :
  1. <td width=$size_doc><div class=fix_cell>$doc_name</div></td>


En complément je vous mets le code de la css:

Code :
  1. .fix_cell{
  2. height:40px;
  3. overflow-y:auto;
  4. text-align:center;
  5. border-style:solid;
  6. border-width:1px;
  7. border-color:#AF0F01;
  8. }


J'espère que vous connaissez la raison de ce problème car j'y ai déjà perdu beaucoup de temps!!
Merci d'avance

mood
Publicité
Posté le 11-04-2007 à 11:23:33  profilanswer
 

n°1541504
dartyduck
n00b AttitudE
Posté le 11-04-2007 à 17:39:11  profilanswer
 

déjà, tu oublies php à l'ouverture du php : <?php ... ?>
Ensuite, ton

Code :
  1. .fix_cell{
  2. height:40px;
  3. overflow-y:auto;
  4. text-align:center;
  5. border-style:solid;
  6. border-width:1px;
  7. border-color:#AF0F01;
  8. }


peut etre remplacé par

Code :
  1. .fix_cell{
  2. height:40px;
  3. overflow-y:auto;
  4. text-align:center;
  5. border:1px solid #AF0F01;
  6. }


Message édité par dartyduck le 11-04-2007 à 17:42:32

---------------
Nikon D7000 + 18-105VR + 35mm 1.8
n°1541513
acorsa
Posté le 11-04-2007 à 17:46:29  profilanswer
 

Je te remercie mais maleheureusement ça ne résoud pas mon problème...

n°1541675
dartyduck
n00b AttitudE
Posté le 11-04-2007 à 22:08:39  profilanswer
 

tu as pas mis de " à ton id de table:

Code :
  1. <table id="mainTable1"  cellpadding="0"  cellspacing="0" style="border-collapse: collapse; width:100%; overflow:; ">

et utilise ta fauille css pour son style.
Ensuite, ton

Code :
  1. <div style="width:100%; height:210px; overflow-Y:auto;">

n'est pas tres xhtml ! utilise ta feuille css.
tu dois mettre des " à chaque div ou class. Et <div class=""> n'existe pas. c'est <span class=""></span> ou <div id=""></div>
Ensuite, faudrait que je prenne le temps de me plonger dans tes variables et là j'ai pas trop le temps.


---------------
Nikon D7000 + 18-105VR + 35mm 1.8
n°1541848
acorsa
Posté le 12-04-2007 à 11:16:01  profilanswer
 

Bon vu que tu as l'air de t'y connaître je te lache pas!! J'ai corrigé mon code selon tes remarques..ms ça marche toujours pas...En fait, toutes mes cases sous IE s'affichent bien avec des scrollbars qd le texte est trop long..toutes..sauf une! j'ai pensé que c'est à cause du texte (c'est un nom de fichier assez long donc il n'y a pas d'espace entre les mots) et dc la césure ne peut pas se faire ms apparement c pas ça...
Je te remets le code:

Code :
  1. <div id="maindiv">
  2.       <table id="mainTable1" cellspacing="0"  cellpadding="0">
  3.         <tr>
  4.      <?php
  5.           echo "<td id=$th width=33px>Date</td>
  6.     <td id=$th width=13px>Lg</td>
  7.     <td id=$th width=57px>File</td>
  8.     <td id=$th width=57px>Type</td>
  9.     <td id=$th width=119px>Source text</td>
  10.     <td id=$th width=135px>Proposal</td>
  11.     <td id=$th width=133px>Query/Comment</td>
  12.     <td id=$th width=\"1%\">Status</td>";?>
  13.         </tr>
  14.       </table>
  15.     </div>
  16.    
  17.     <div id="maindiv">
  18.       <table id="mainTable1"  cellspacing="0" cellpadding="0">
  19.    <?php
  20.            while($query51 and $data = mysql_fetch_array($query51)) {
  21.               $author=$data["Translator_name"];
  22.               $language=$data["language_name"];
  23.               $doc_type=$data["Query_type"];             
  24.               $doc_name=str_replace("\"\"","\"",$data["Doc_name"]);
  25.               $query=str_replace("\"\"","\"",$data["Query_text"]);
  26.               $reference=str_replace("\"\"","\"",$data["Reference"]);
  27.               $proposal=str_replace("\"\"","\"",$data["Proposal"]);
  28.               $replied=$data["Replied"];
  29.               $date=$data["Creation_date"];
  30.               $query_status=$data["Query_status"];
  31.               $query_id=$data["query_id"]; 
  32.              
  33.               $nb=mysql_num_rows($query51);
  34.              
  35.               $query53=mysql_query("select distinct ISO from Languages where language_name='$language'" );
  36.               while($query53 and $data = mysql_fetch_array($query53)){
  37.                 $iso=$data["ISO"];
  38.               }
  39.               if ($browser=='Firefox'){
  40.                 $size_date='50px';
  41.                 $size_lg='28px';
  42.                 $size_doc='80px';
  43.                 $size_type='80px';
  44.                 $size_src='160px';
  45.                 $size_proposal='180px';
  46.                 $size_query='178px';
  47.               }
  48.               else if ($browser=='Internet Explorer'){
  49.                 $size_date='60px';
  50.                 $size_lg='35px';
  51.                 $size_doc='95px';
  52.                 $size_type='96px';
  53.                 $size_src='186px';
  54.                 $size_proposal='210px';
  55.                 $size_query='210px';               
  56.               }
  57.    
  58.               echo "<tr class=\"totr\">
  59.               <td width=$size_date><div class=\"totd\"><font size=2>$date</font></div></td>
  60.               <td width=$size_lg><div class=\"totd\">$iso</div></td>
  61.               <td width=$size_doc><div class=\"totd\">$doc_name</div></td>
  62.               <td width=$size_type><div class=\"totd\">$doc_type</div></td>
  63.               <td width=$size_src><div class=\"totd\">$reference</div></td>
  64.               <td width=$size_proposal><div class=\"totd\">$proposal</div></td>
  65.               <td width=$size_query>
  66.                 <div class=\"totd\">
  67.                   <a href=\"popup.php?query_id=$query_id\" onclick=\"return !window.open(this.href,null,'width=610,height=690, status=no, directories=no, toolbar=no, location=no, menubar=no, scrollbars=yes, resizable=yes');\"><font color=\"blue\">$query</font></a>     
  68.                 </div> 
  69.               </td>
  70. ...
  71.         ?>
  72.   </table>
  73. </div>


et voici le contenu de ma feuille de style:

Code :
  1. table#mainTable1{
  2.    width:100%;
  3.    text-align:center;
  4.    border:1px solid #AF0F01;
  5.    border-collapse : separate;
  6.    background-color:#E3E4E8;
  7.    overflow: auto;
  8. }
  9. .totd{
  10.   padding: 0px;
  11.   height:40px;
  12.   overflow:auto;
  13.   text-align:center;
  14.   border:1px solid #AF0F01;
  15. }
  16. .totr {
  17.     padding: 0px;
  18.     font-style: italic;
  19.     text-align: center;
  20.     background-color: #E3E4E8;
  21. }
  22. .maindiv{
  23.     width:100%;
  24.     height:210px;
  25.     overflow:auto;
  26. }


Merci d'avance

n°1541888
dartyduck
n00b AttitudE
Posté le 12-04-2007 à 11:56:53  profilanswer
 

tu aurais un lien pour montrer de quoi ca a l'air ?
Et le php je connais un peu, mais y'a des personnes plus compétentes que moi pour t'aider.
Moi je t'ai corrigé ton style pour qu'ensuite il ne reste que le php à regarder. mais envoie un lien.


---------------
Nikon D7000 + 18-105VR + 35mm 1.8
n°1541943
bignose
Posté le 12-04-2007 à 13:06:30  profilanswer
 

Il me semble que le <tr> du dernier echo n'est pas fermé...
 
 
Bignose

n°1541994
acorsa
Posté le 12-04-2007 à 14:31:23  profilanswer
 

Merci vous 2 mais après 2 jours intenses, je crois avoir trouvé la source de mon problème...mais toujours pas la solution! J'explique: en fait qd il y a une longue chaîne de caractère sans espace Firefox mets automatiquement une scrollbar horizontale (car ds ma css j'ai overflow:auto;) seulement IE semble ne vouloir mettre que des scrollbar verticales (ce qui n'est pas posible si il n'y a pas d'espace ds le texte car il ne peut pas couper le texte). Do,nc ma question est: comment forcer l'affichage des scrollbar horizontales sous IE!!
Merci

n°1542094
dartyduck
n00b AttitudE
Posté le 12-04-2007 à 16:19:25  profilanswer
 

bon alors tu figes la largeur de ta boite (tableau, div, je sais pas moi) et dans ton css tu lui mets un "overflow-x: auto;"
et tu reviens nous donner le résultat


---------------
Nikon D7000 + 18-105VR + 35mm 1.8
n°1542112
acorsa
Posté le 12-04-2007 à 16:38:16  profilanswer
 

Ben j'ai déjà essayé...et là je viens de m'apercevoir que qd je mets overflow-x: auto; ça ne me mets même plus les barres verticales!!
J'ai trouvé une solution provisoire qui consiste à raccourcir les textes trop long si il n'y a pas d'espace ds le texte et qu'on est sous IE ms c du bricolage j'aime pas trop ça...
Merci de m'aider!

mood
Publicité
Posté le 12-04-2007 à 16:38:16  profilanswer
 

n°1542317
dartyduck
n00b AttitudE
Posté le 12-04-2007 à 23:23:27  profilanswer
 

ce que tu peux faire c'est un css juste pour IE ou tu n'y mets que les trucs spécifiques pour IE, et tu mets un

Code :
  1. <!--[if IE]>
  2. <link rel="stylesheet" type="text/css" href="/style-ie.css" />
  3. <![endif]-->

dans ton <head>


---------------
Nikon D7000 + 18-105VR + 35mm 1.8
n°1542381
acorsa
Posté le 13-04-2007 à 09:14:24  profilanswer
 

oui ms je vois pas à quoi ça sert puisque je ne sais toujours pas comment faire pour que ça s'affiche bien sous IE!!

n°1542597
bignose
Posté le 13-04-2007 à 13:18:31  profilanswer
 

T'as essayé de fermer le <tr> ?

n°1542645
acorsa
Posté le 13-04-2007 à 14:24:24  profilanswer
 

oui oui!!

n°1542858
dartyduck
n00b AttitudE
Posté le 14-04-2007 à 12:46:31  profilanswer
 

acorsa a écrit :

oui ms je vois pas à quoi ça sert puisque je ne sais toujours pas comment faire pour que ça s'affiche bien sous IE!!


le code que je t'ai mis est là pour appeler un code css spécial IE ou tu ne mets que les parties que tu veux adapter à l'affichage IE. Et du coup, ca s'affichera bien et sous IE et sous FF ! tu auras 2 feuilles de style.
La principale qui marche bien sous FF et une petite qui permettra aux trucs qui s'affichaient mal sous IE de bien s'afficher sous IE !


---------------
Nikon D7000 + 18-105VR + 35mm 1.8

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Problème d'affichage d'un tableau

 

Sujets relatifs
Probleme avec FullCanvas....probleme de connection à SQLSERVER2005
[Crypto] Probleme dans ce programme?affichage xml dans explorer
Probleme de requête (group by)problème XML vs JS vs IE
Problème avec array_randprobleme d affichage avec un tableau html
Probleme affichage tableauprobleme d'affichage tableau
Plus de sujets relatifs à : Problème d'affichage d'un tableau


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR