• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Whileループ時の改行?)

Whileループ時の改行について

このQ&Aのポイント
  • Whileループを使用してランキングを表示する際、ランキングと表のヘッダの間に間が開いてしまう問題が発生しています。
  • ループ回数が少ない場合はその間の隙間も少ないことから、ループの記述の仕方が原因の可能性があります。
  • DBへの接続はHTMLタグの前に記述されています。

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

  • ベストアンサー
  • poppo64
  • ベストアンサー率57% (11/19)
回答No.4

#1です。 インデントしている全ての <TD> の前に全角の空白が入っています。とりあえずこの全角空白を削除すればお望みの表示になるハズですよ。 ↓↓↓ 以下の行です。       <TD COLSPAN="4">出走回数</TD>       <TD本賞金</TD>       <TD>収得賞金</TD>       <TD>TOTAL</TD>       <TD>1期</TD>       <TD>2期</TD>       <TD>3期</TD>     <TD><h3><?php HESC($recsp['SUM_GP'] ) ?></h3></TD>     <TD><h3><?php HESC($recsp['Race_Date_Count'] ) ?>回</h3></TD>     <TD><h3>回</h3></TD>     <TD><h3>回</h3></TD>     <TD><h3>0回</h3></TD> # IE6では確認できました。

DRAGONEMK
質問者

お礼

確かにご指摘の通りでした。 #2さんにも指摘されていますが 質問者としての配慮が大分欠けていたようです。 大変助かりました どうもありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

回答No.3

どちらにせよこのソースですと何が悪いのかの判断が付かないので、ループ部分だけ抜き出すとかして欲しいですね。また、どの位置にスペースが入るのかを知りたいので、出力されたHTMLのその部分も見せて下さい。 それとHESC関数って僕は知らないんですが、これは何ですか?echoの間違い?

DRAGONEMK
質問者

お礼

HESCというのはユーザー定義関数です。 いきなりこんなもん載せて理解してもらえるわけないですよね。 こちらの質問に色々不備がありすみませんでした。 どうもありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

ソースの転載も途切れ途切れっぽいので判断が付かないのですが、No1さんの指摘以外にも結構HTML的に間違ってる部分がたくさんあるみたいですよ。頭の所は抜粋ですか?<body>タグがない、<h1>の最初の>がない、<font>タグの始まりがない・・・単なる転載漏れかとは思いますが・・・。<h1>を<font>タグで囲う、<td>を<b>で囲うというのは正しいHTMLではないですね。ちょっと言い出すとキリがない位HTMLが変ですよ。 ブラウザ上で「ランキング」と表の間に空白が開くとしたら、それは改行じゃないと思います。単に改行が入ったとしてもブラウザ上では無視されますから。スクリプトを実行したら「ソースで表示」させ、狙い通りのHTMLが出力されているか確認しましょう。恐らく変なHTMLになってると思いますよ。

DRAGONEMK
質問者

補足

ありがとうございます。 突っ込みどころ満載ということですね。 投稿時に800文字の文字制限に収めるため、 必要ないと思われるフォントの色指定などデザイン部分を削ったら必要なタグの開始部分までけずってしまいました。 ソースを見ても<BR>タグはないので改行ではないことは 気づいていたのですが、隙間の部分の正体は 大量の半角スペースのようです。 もう少しループの少ないファイルだと その隙間も大分少ないので ループ処理の記述の仕方に問題があるのではないかと思い、こちらに投稿した次第です。

全文を見る
すると、全ての回答が全文表示されます。
  • poppo64
  • ベストアンサー率57% (11/19)
回答No.1

PHPは詳しくありませんが、おそらくHTMLの問題でしょう。 <TD>3期</TD> のあとに TR を閉じる </TR>タグ がないのが原因ではないでしょうか。

DRAGONEMK
質問者

補足

ありがとうございます。 ご指摘の部分を修正してみましたが、ダメでした。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • テーブルの枠線が消えません。

    テーブルの枠線が消えません。 HTMLでテーブルを作成しています。 以下のようなHTMLなのですが、 先頭行の8と9の間や二行目の15と30の間に縦線が入ってしまいます。 これを表示させたくないのですが、よく見ると一番右側の項目は全て縦線が入っています。 これを消すことはできるでようか? <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-31j"> </head> <body> <table> <tr bgcolor="blue"> <td colspan="60" align="center">8</td> <td colspan="60" align="center">9</td> <td colspan="60" align="center">10</td> </tr> <tr bgcolor="lightblue"> <td colspan="15" align="right">15</td> <td colspan="15" align="right">30</td> <td colspan="15" align="right">45</td> <td colspan="15" align="right">60</td> <td colspan="15" align="right">15</td> <td colspan="15" align="right">30</td> <td colspan="15" align="right">45</td> <td colspan="15" align="right">60</td> <td colspan="15" align="right">15</td> <td colspan="15" align="right">30</td> <td colspan="15" align="right">45</td> <td colspan="15" align="right">60</td> </tr> <tr align="center"> <td colspan="60" bgcolor="lightpink" height="40">仕事</td> <td colspan="60" bgcolor="lightgreen">休み</td> <td colspan="60" bgcolor="lightpink">仕事</td> </tr> <tr align="center"> <td colspan="80" bgcolor="lightgreen" height="40">休み</td> <td colspan="40" bgcolor="lightblue">仕事</td> <td colspan="60" bgcolor="lightgreen">休み</td> </tr> <tr align="center"> <td colspan="50" bgcolor="lightgreen" height="40">休み</td> <td colspan="60" bgcolor="lightpink">仕事</td> <td colspan="70" bgcolor="lightgreen">休み</td> </tr> </table> </body> </html>

    • ベストアンサー
    • HTML
  • HTMLでタイムスケジュールを作成しています。

    HTMLでタイムスケジュールを作成しています。 ブラウザはIE7です。 左側の「No.」~「氏名」は固定です。 タイムスケジュールの部分に横スクロールを表示させ、ブラウザの横スクロールは使用しません。 1分単位で表示させたいのですが、どうしてもレイアウトが崩れてしまいます。 (添付の図ぐらいの間隔にしたいです。1分を1~3pxぐらいでしょうか。) 下記のHTMLは作成中のものですが、文字数制限のため一部を省略しています。 <table width="100%"> <td> <table width="310" align="left" border="1" cellspacing="0"> <tr> <td rowspan="2" width="10"><div align="center">No.</div></td> <td width="100"><div align="center">所属</div></td> <td width="100"><div align="center">部門</div></td> <td width="100"><div align="center">勤務区分</div></td> </tr> <tr> <td width="100"><div align="center">区分詳細</div></td> <td width="100"><div align="center">階級</div></td> <td width="100"><div align="center">氏名</div></td> </tr> <tr align="middle"> <td rowspan="2" height="50">1</td> <td>所</td> <td>部</td> <td>区</td> </tr> <tr align="middle"> <td>詳</td> <td>階</td> <td>太郎</td> </tr> </table> <div style="overflow-x:scroll; overflow-y:visible;"> <table height="100%" border="1" cellspacing="0"> <tr> <td colspan="60" align="center">08</td> <td colspan="60" align="center">09</td> <td colspan="60" align="center">10</td> </tr> <tr> <td colspan="15" align="right">15</td> <td colspan="15" align="right">30</td> <td colspan="15" align="right">45</td> <td colspan="15" align="right">60</td> <td colspan="15" align="right">15</td> <td colspan="15" align="right">30</td> <td colspan="15" align="right">45</td> <td colspan="15" align="right">60</td> <td colspan="15" align="right">15</td> <td colspan="15" align="right">30</td> <td colspan="15" align="right">45</td> <td colspan="15" align="right">60</td> </tr> <tr align="center"> <td colspan="100" bgcolor="lightpink" height="50">未</td> <td bgcolor="lightblue"></td> <td bgcolor="gold"></td> <td bgcolor="lightblue"></td> <td bgcolor="gold"></td> <td bgcolor="lightblue"></td> <td bgcolor="gold"></td> <td bgcolor="lightblue"></td> <td bgcolor="gold"></td> <td bgcolor="lightblue"></td> <td bgcolor="gold"></td> <td colspan="70" bgcolor="lightgreen">仕</td> </tr> </table> </div> </td> </table>

    • ベストアンサー
    • HTML
  • テーブルデザインをCSSで行う方法

    tableタグで組んでいるデザインをCSSに変更したいと考えております。 以下のHTMLをCSSでtableタグを使わずに実現したいのですが、可能なのでしょうか。 ※参考までに画面上のイメージも添付しました。 CSSが苦手なのでどなたかご教授下さい。 <html> <head> </head> <body> <table border="1" width="50%" height="20%"> <tr> <td colspan="2" rowspan="2"><p align="center">test</p></td> <td colspan="2" rowspan="2"><p align="center">test</p></td> <td colspan="2"><p align="center">test</p></td> <td colspan="2" rowspan="2"><p align="center">test</p></td> </tr> <tr> <td><p align="center">test</p></td> <td><p align="center">test</p></td> </tr> <tr> <td colspan="2">data1</td> <td colspan="2">data1</td> <td>data1</td> <td>data1</td> <td colspan="2">data1</td> </tr> <td colspan="2">data2</td> <td colspan="2">data2</td> <td>data2</td> <td>data2</td> <td colspan="2">data2</td> </tr> <td colspan="2">data3</td> <td colspan="2">data3</td> <td>data3</td> <td>data3</td> <td colspan="2">data3</td> </tr> </table> </body> </html>

  • テーブルが崩れる問題について

    このような場合赤色の部分が17:00の真中に来るようにするにはどうしたらいいんでしょうか? <table height="15%" border="0" cellpadding="5" cellspacing="1" bgcolor="#CCCCCC"> <tr> <td height="33%">&nbsp;</td> <td colspan="2" align="center">10:00</td> <td colspan="2" align="center">11:00</td> <td colspan="2" align="center">12:00</td> <td colspan="2" align="center">13:00</td> <td colspan="2" align="center">14:00</td> <td colspan="2" align="center">15:00</td> <td colspan="2" align="center">16:00</td> <td colspan="2" align="center">17:00</td> <td colspan="2" align="center">18:00</td> <td colspan="2" align="center">19:00</td> <td colspan="2" align="center">20:00</td> </tr> <tr> <td height="33%" bgcolor="#FFFFFF">27日</td> <td bgcolor="#FFFFFF">&nbsp;</td> <td bgcolor="#FFFFFF">&nbsp;</td> <td bgcolor="#FFFFFF">&nbsp;</td> <td bgcolor="#FFFFFF">&nbsp;</td> <td bgcolor="#FFFFFF">&nbsp;</td> <td bgcolor="#FFFFFF">&nbsp;</td> <td colspan="9" bgcolor="#FF0000">&nbsp;</td> <td bgcolor="#FFFFFF">&nbsp;</td> <td bgcolor="#FFFFFF">&nbsp;</td> <td bgcolor="#FFFFFF">&nbsp;</td> <td bgcolor="#FFFFFF">&nbsp;</td> <td bgcolor="#FFFFFF">&nbsp;</td> <td bgcolor="#FFFFFF">&nbsp;</td> <td bgcolor="#FFFFFF">&nbsp;</td> </tr> </table>

    • ベストアンサー
    • HTML
  • WHILEで取り出しループ中にさらにSQL文を入れたいです。

    こんばんは。 いつもお世話になっております。 またはまってしまったみたいで、どうにもわからなく なってしまいました。 どうかご指導よろしくお願いいたします。 使用環境はPHP5+Apche+MySQL4.0です。 2つのテーブルから【一覧リスト】というページを作って mysq_fetch_array関数で、行をループで呼び出しました。 ここまでは出来たのですが、取り出したキー情報を もとに、別テーブルの情報(文字列)を取り出したい のです。 以下、試してみたコードです。 //SQL発行 $rs = mysql_query("select * from uriage", $conn); //1件ずつ取り出すループ while( $rec = mysql_fetch_array( $rs, MYSQL_ASSOC)){ echo "<tr>"; echo "<td>".$rec['oder_no']."</td>"; $sql = "(select*from syouhin where syouhin_id = '".$rec["syouhin_id"]."')"; $res = mysql_query($sql); $rows = mysql_fetch_array($res); echo $rows["syouhin_name"]; echo "<td>".$rec['siiresaki']."</td>"; echo "<td>".$rec['tanka']."</td>"; echo "</tr>"; } Parse error: syntax error, unexpected T_ECHO というエラーが返ってきています。 エラーの行数はecho $rows["syouhin_name"]; の部分です。 何が悪いのかすら判らなくて…。 どうか、ご指導よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • colspanを使うと正しく表示できない?!

    あるwebシステムで 現在の予約数を表示するようなhtmlを作成しています。 tableを使って、td内に予約できる数をcolspanで指定して、 現在の予約状況がひとめでわかるように表示しているのですが なぜか、正しく表示できなくなってしまいました。 ブラウザもie6からie8にはなったのですが。 いろいろ検索してみると、似たような質問はたくさんされていましたし、 それぞれにwidth指定もすればよい・・・のように記載されていて解決されているようでした。 でも、同じように試してみましたがダメでした。(表示結果は同じ) サンプルとしまして、(全体で92がMAXの予約数として です) <table width="319" border="1" cellpadding="0" cellspacing="0"> <tr> <td width="100" height="25" colspan="2" align="center">日時</td> <td width="100" colspan="50" align=right>50</td> <td width="84" colspan="42" align=right>92</td> <td width="35" height="25" align="center" bgcolor="#ffd37d">空き</td> </tr> <tr> <td rowspan="12" width="55" align=center valign=top>11月26日</td> <td width="45" align=center>0時</td> <td width="110" colspan="55" bgcolor="#ff4500" align="center">55</td> <td width="74" colspan="37" bgcolor=white><br></td> <td width="35" align=center><font color=navy>37</font></td> </tr> <tr> <td width="45" align=center>1時</td> <td colspan="55" bgcolor="#ff4500"align="center">55</td> <td colspan="37" bgcolor=white><br></td> <td width="35" align=center><font color=navy>37</font></td> </tr> <tr> <td width="45" align=center>2時</td> <td colspan="55" bgcolor="#ff4500" align="center">55</td> <td colspan="37" bgcolor=white><br></td> <td width="35" align=center><font color=navy>37</font></td> </tr> <tr> <td width="45" align=center>3時</td> <td colspan="70" bgcolor="#ff4500" align="center">70</td> <td colspan="22" bgcolor=white><br></td> <td width="35" align=center><font color=navy>22</font></td> </tr>  ・  ・  ・ のような場合、<tr>内の2つめの<td>のcolspan=70も55も同じ幅で表示されます。 違う・・・といえば、align=centerでそれぞれ数字を表示させていますが 55のテキストが少し左寄り、70がcenterに表示されてるように見えます。 また、赤背景色の幅も微妙に0.xミリくらいは colspan=70の方が広いです。 tableのwidthがborderの幅を考慮していないのですが これも問題でしょうか? みなさん、似たような問題がでても解決されているようなのですが 自分の場合、どうやってもなかなか解決できません。 tableの幅を広めに取ったり、style指定したり、widthを入れたり・・・ 因みに依然(今年の春頃まで?)は、width無しのcolspan指定だけで、 思い通りに表示できていました。 その後、ブラウザのバージョンアップがありました。 最初(春頃)はstyleで table{ table-layout:fixed; } を指定したらなんとかうまく表示できました。 今回は春頃のバージョンのままで特に変更なく動かせるはずだったのですが。。。 そのままではダメなようです。 どのような方法があるのかアドバイスいただければと思います。 よろしくお願いします。

    • ベストアンサー
    • CSS
  • safariで特定条件下でデーブル幅が効かなくなります

    safariでcolspanでセルを結合し、その中に大きい要素(下の例ですとwidth500pxの画像や、文字数60のテキスト領域)を入れると、他の行の幅が変わってしまいます。 スタイルシートでtd幅を指定してやったりしてみたのですが、どうしても幅が変わってしまいます。 何か解決方法等ございましたら、ご教授願います。 <table width="600" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="20%" align="center" bgcolor="#99FFFF">20%</td> <td width="80%" align="center">80%</td> </tr> <tr> <td colspan="2" align="center" bgcolor="#FFCCCC"><img src="http://cmm001.goo.ne.jp/img/sn/sn_50.gif" width="500" height="24"></td> </tr> </table> <br> <table width="600" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="20%" align="center" bgcolor="#99FFFF">20%</td> <td width="80%" align="center">80%</td> </tr> <tr> <td colspan="2" align="center" bgcolor="#FFCCCC"><form name="form1" method="post" action=""> <textarea name="textarea" cols="60"></textarea> </form> </td> </tr> </table> <br> <table width="600" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="20%" align="center" bgcolor="#99FFFF">20%</td> <td width="80%" align="center">80%</td> </tr> <tr> <td colspan="2" align="center" bgcolor="#FFCCCC">&nbsp;</td> </tr> </table>

    • ベストアンサー
    • HTML
  • aaa!cafeにて

    リンクが表示されないのです。 <html> <body bgcolor="black" link="red" vlink="glay"> <font color="white"> <title>リンク</title> <table align="center"> コメント </table> </p> <hr> <table border="1" width="90%" align="center"> <STYLE TYPE="text/css"> <!-- td{ color: white; } --> </STYLE> <tr> <td colspan="3" align="center"><font color="yellow">コメント</font></td> </tr> <tr> <td align="center"><img src="link_banner/search_the_bass.jpg"></td><td align="center"><a href="アド">サイト</a></td> <td>コメント</td> <tr> <td align="center"><img src="link_banner/fun.gif"></td><td align="center"><a href="アド">サイト</a></td> <td></td> </tr> <tr> <td colspan="3" align="center"><font color="aqua">お役立ちサイト</font></td> </tr> <tr> <td align="center"><img src="link_banner/manbo_bass.gif"></td><td align="center"><a href="http://degu.***.org/ranking/bass/autorank/rankem.cgi?action=in&id=sunsurf" target="_new">Bass Site Ranking</a>ココが表示されません</td> <td>コメント</td> </tr> <tr> <td align="center"><img src="link_banner/nanikiru_s5.gif"></td><td><a href="http://www.***.net/">なにきる.ねっと</a></td> <td>コメント</td> </tr> </table> </body> </html> ココが表示されません、というとこなんです。<a href~がサーバにアップすると消えるんです。 悩みの種です・・・。よろしくお教えください!

  • 表(table)の字の大きさの設定

    ブログに表を載せたいと思って調べているところなのですが、↓のようにして、入力すると、字が14くらいの大きさになってしまいます。9くらいの小さめの字にしたいのですが、字の大きさは、どのように入力すれば良いのでしょうか?教えて下さい。どうぞ宜しくお願い致します。 <div align="center"> <table border=1><tr><tdalign="center"colspan="3"bgcolor="#99ee66">あ<BR>あ</td></tr><tr><td align="center" colspan="3"bgcolor="#ffcd59">あ</td></tr><tr><td width="30" align="left" valign="top" bgcolor="#efefde">あ</td><td width="45" align="left" valign="top" bgcolor="#efefde">あ</td><td align="left">・あ<BR>あ</td></tr><td width="30" align="left" valign="top" bgcolor="#efefde">あ</td><td width="45" align="left" valign="top" bgcolor="#efefde">あ</td><td align="left">あ</td></tr></table></div>

    • ベストアンサー
    • HTML
  • PHPでMySQLデータを呼び出し、whileループの中で別テーブルのデータをループするには

    MySQLからuserというテーブルのデータを呼び出し、表示すると同時にフォームとしてデータの変更もできるプログラムを作成しています。 その項目の中に別のusergrというテーブルのデータをリストボックスで表示させたいのですが、うまくいきません。 現状では下記のスクリプトでuserの1番のデータだけが表示されている状態です。(リストボックスも問題なく表示はされていますが…) まわりに聞ける人もいず、本などを見よう見まねで作成したため、根本的に誤ってるところがあるかと思いますが、どうかアドバイス頂けませんでしょうか。 $sql = "SELECT * FROM user"; $mysql->query($sql); while($row = $mysql->fetch()){ $no = $row["no"]; $name = $row["name"]; $division = $row["division"]; $email = $row["email"]; $tel = $row["tel"]; $group = $row["group"]; echo <<<EOT <td align="center">$no</td> <td align="center"><input type="text" name="name[$no]" value="$name" size="10"></td> <td align="center"><input type="text" name="division[$no]" value="$division" size="20"></td> <td align="center"><input type="text" name="email[$no]" value="$email" size="30"></td> <td align="center"><input type="text" name="tel[$no]" value="$tel" size="10"></td> <td align="center"> <select name="group[$no]"> EOT; $sql = "SELECT * FROM usergr LEFT JOIN user ON usergr.grno=user.group"; $mysql->query($sql); while($row = $mysql->fetch()){ $group = $row["group"]; $grno = $row["grno"]; $grname = $row["grname"]; if($row["grno"]==$group){ echo "<option value=\"{$row['grno']}\" selected=\"selected\">{$row['grname']}</option>"; } else { echo "<option value=\"{$row['grno']}\">{$row['grname']}</option>"; } } echo <<<EOT </select> </td> <td align="center"><input type="submit" name="submit_upd[$no]" value="変更"> <input type="submit" name="submit_del[$no]" value="削除"></td> </tr> EOT; }

    • ベストアンサー
    • PHP