• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:html、php、IE6またはfirefoxでの表示について)

問:html、php、IE6またはfirefoxでの表示について

このQ&Aのポイント
  • MySQLに入れてあるデータをphpのforeachループを回すことでhtmlのテーブルに取り出して表示しようとしています。
  • データはちゃんと取り出せてテーブルに入っているのですが、テーブルの画面上での配置がうまく設定できません。
  • firefoxでは、普通に表示されるのですが、IE6だとなぜか画面上だいぶん下の方に表示されます(表の上はぽっかりと大きな空白ができます)。ループを回したテーブルをdivタグで囲って色を付けてみますと(絶対値指定で座標を0、0にした)、画面左上の位置からちゃんと色がつくのですが、テーブルはそれとはずれて、だいぶん下に配置されます。余計なCSS、javascriptなどは全部落としてみましたが、ダメでした。PHPフレームワークとしてCodeIgniterを使用しています。

質問者が選んだベストアンサー

  • ベストアンサー
noname#140925
noname#140925
回答No.1

掲載されたソースは、コピペで貼り付けているのでしょうか? テーブルヘッダー(TH)の行の、TRの閉じタグが抜けていますが・・・

love_vb
質問者

お礼

回答ありがとうございました。 返事が遅れまして本当に申し訳ありません!!! テーブルヘッダーの行のTRが確かに抜けていますね! ご指摘ありがとうございました。 ただ、TRの閉じタグを追加してみましたが、何も変わりませんでした。 TRの閉じタグがなくても今まで表示されてたのも不思議。。。 うーん、どうしたらよいのでしょう?? IE8でも確認してみましたが、IE6と同じ表示でした。。。

love_vb
質問者

補足

回答にお礼をしたあとなんですが、何とか解決できました。 原因はよく分かりませんが、行った操作を書いておきます。 1.以前はforeachを外すと、タイトルTHの所だけですが、ちゃんとした位置に表示されていたので、phpとIE6の連携が上手くいっていないのかなぁと漠然と思っていました。 2.けれど、skyfangさんの回答にもありますように、htmlの問題かと思い、まず意味もなくテーブルの列数を減らしてみました。いろいろな組み合わせで減らしてみると、「欠席者」の列を消してみたらちゃんとした位置に表示されることがわかりました。 3.列数を減らしても、「欠席者」の列が含まれているとちゃんとした位置に表示されないことが分かり、「欠席者」の列の部分に他の列をコピーして埋め合わせてもちゃんと表示されたので、なぜかわかりませんが、「欠席者」列に問題があるようだと言うことが分かりました。 4.それで、結局やったことは、「コメント」列をコピーして、変数を欠席者用に替えました。すると、なぜかちゃんと表示されるようになりました。 読みにくく且つ長くなってしまいましたが、質問時のhtmlを読んで下さり、本当にありがとうございました!

関連するQ&A