cgiでの表示方法について

このQ&Aのポイント
  • cgiでの表示方法について、$this_siteが縦に並んでしまって見にくい状態になっています。並び替えて表示する方法を教えてください。
  • cgiでの表示方法について、$this_siteが縦に並んでしまう問題があります。見やすくするためにはどのようにすればよいでしょうか。
  • cgiでの表示方法に関して、$this_siteが縦に並び、画面がスクロールしてしまう問題があります。この問題を解決する方法を教えてください。
回答を見る
  • ベストアンサー

cgi での表示方法について

for($i=$start;$i<$end;$i++){ my($d,$d,$this_site,$this_url,$this_com) = split(/<>/,$this_data[$i]); print <<EOF; <tr bgcolor="$t_color"> <td width="95%" valign="top" colspan="2"> <table width="45%" border="0" cellspacing="0" cellpadding="2"> <td> <img src="$point_img" width="8" height="8<a href="$this_url" target="down"> <font color="#CC0000">$this_site</font></a> </td> </table> </td> </tr> EOF } という、記述があるのですが、 今のままだと、$this_siteが縦に並んでしまうので、 画面がスクロールしてしまい、見にくい状態です。 例) ABCサイト DEFサイト GHIサイト これを、 ABCサイト  DEFサイト GHIサイト というような感じに並べ替えたいのですが、 どうしたらいいのでしょうか? 自分の頭で考えていたのですが、 どうやってもできません。 よろしくお願いします。

  • CGI
  • 回答数2
  • ありがとう数1

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

  • ベストアンサー
  • the845t
  • ベストアンサー率33% (246/743)
回答No.1

自分で試して見ましたので、たぶん大丈夫だと思うのですが、 必ず再チェックしてください。 テーブル使うのは経験があるのですが、 こういうstartやendを使う経験がなかったので・・・・・。 いつもは、foreachであるだけやるから・・・。 @this_data = ("a<>i<>u<>e<>o<>","ka<>ki<>ku<>ke<>ko<>","sa<>si<>su<>se<>so<>","ta<>ti<>tu<>te<>to<>","na<>ni<>nu<>ne<>no<>","ha<>hi<>hu<>he<>ho<>"); $start = 0; $end = 6; for($i=$start;$i<$end;$i++){ my($d,$d,$this_site,$this_url,$this_com) = split(/<>/,$this_data[$i]); if(!$check){ print "<tr>"; } print <<EOF; <td width="95%" valign="top" colspan="2"> <table width="45%" border="0" cellspacing="0" cellpadding="2"> <td> <img src="$point_img" width="8" height="8><a href="$this_url" target="down"> <font color="#CC0000">$this_site</font></a> </td> </table> </td> EOF if (($check + $start) eq ($end - 1)){ if($check % 2){ print "</tr><!--END-->\n"; } else{ print "<td><br></td></tr><!--END-->\n"; } }else{ if($check % 2) { print "</tr>\n<tr>"; } } $check++; }

Hiro-PaPa
質問者

お礼

わざわざ試していただき、ありがとうございました。 このままだと、まだ使えないので、 頑張って修正してから、使わせていただきます。 ありがとうございました。

その他の回答 (1)

  • the845t
  • ベストアンサー率33% (246/743)
回答No.2

$endや if (($check + $start) eq ($end - 1)){ あたりが変ですね。 自分で今気付きましたが、 $startや$endがどういうものか分からないし、 そこら変は御自身で変更なさってください。

関連するQ&A

  • foreachの使い方

    ------------------------------------------- include.php <?php $kakaku = array(1=>'300', 2=>'500' ); $picture = array(1='img/pan.jpg', 2='img/choko.jpg' ); ?> ------------------------------------------- index.php <table border="1" height="188" width="461"> <tr> <td width="458" height="160"><img border="0" src="<?php echo $picture ;?>" width="190" height="157"> <font size="4" color="#FF00FF"><b><?php echo $kakaku ;?></b></font></td> </tr> </table> -------------------------------------------- この時に <tr> <td width="458" height="160"><img border="0" src="<?php echo $picture ;?>" width="190" height="157"> <font size="4" color="#FF00FF"><b><?php echo $kakaku ;?></b></font></td> </tr> の部分を変数の値の分だけ繰り返したい時、 <?php foreach($picture AS $key => $val) { ?> <? } ?> <?php foreach($kakaku AS $key => $val) { ?> <? } ?> はどう記述したらいいのですか?? 結果的には <table border="1" height="188" width="461"> <tr> <td width="458" height="160"><img border="0" src="img/pan.jpg" width="190" height="157"> <font size="4" color="#FF00FF"><b>300円</b></font></td> </tr>  <tr> <td width="458" height="160"><img border="0" src="img/choko.jpg" width="190" height="157"> <font size="4" color="#FF00FF"><b>500円</b></font></td> </tr> </table> というふうにしたいのです! よろしくお願いします。

    • ベストアンサー
    • PHP
  • ヤフオクのテンプレートでバックグラウンドを使いたい

    今、オークション用のテンプレートを作ってるのですが、テーブルの背景に、 <table width="900" height="1000" border="0" cellspacing="0" cellpadding="0" background="http://000.com/000.png"> と言った感じで画像を背景に配置したいと考えていますが、どうやってもうまくいきません。 プレビュー表示の段階で、ソースコードを見てみたのですが、ちゃんと設定されているにもかかわらず、背景画像だけが表示されません。 別の方法で、 <div style="background-image:url(http://www.000.com/000.png);"> でも試して見ましたが、同じ結果でした。 背景画像の上に「商品説明」などの画像を重ねて配置したいので、どうにか上手くできる方法がありましたら是非教えて下さい。 ※上に重ねる画像だけが表示されます。 参考までに今編集中のソースを貼っておきます。 <center> <table width="900" height="1000" border="0" cellspacing="0" cellpadding="0" background="http://000.com/000.png"> <tr> <td align="center" valign="top"><br /> <center> <table width="650" border="0" cellspacing="0" cellpadding="0"> <tr> <td><img src="http://000.com/001.png"></td> </tr> </table> <table width="650" border="0" cellspacing="0" cellpadding="5"> <tr> <td><font color="#a00e15"><p align="left"> 商品説明 </p></font></td> </tr> </table> <br /> <br /> <br /> <table width="650" border="0" cellspacing="0" cellpadding="0"> <tr> <td><img src="http://000.com/002.png"></td> </tr> </table> <table width="650" border="0" cellspacing="0" cellpadding="5"> <tr> <td><font color="#a00e15"><p align="left"> 発送方法 </tr> </table> <br /> <br /> <br /> <table width="650" border="0" cellspacing="0" cellpadding="0"> <tr> <td><img src="http://000.com/003.png"></td> </tr> </table> <table width="650" border="0" cellspacing="0" cellpadding="5"> <tr> <td><font color="#a00e15"><p align="left"> お支払い方法 </p></font></td> </tr> </table> <br /> <br /> <br /> <table width="650" border="0" cellspacing="0" cellpadding="0"> <tr> <td><img src="http://000.com/004.png"></td> </tr> </table> <table width="650" border="0" cellspacing="0" cellpadding="5"> <tr> <td><font color="#a00e15"><p align="left"> 注意事項 </p></font></td> </tr> </table></td> </tr> </table> </center>

  • CGI コメント欄の文章を行替えしたいのです

    お世話になります。 野球スコアボードのCGIなのですが、コメント欄の文章がどうしても1列になってしまい、行替えができません。 文章で<br>を書き加えると、1行分のみしか表示されず、改行の2行目以降が表示されません。   以下の構成でどのようにすれば、文章の行替えが可能になりますか? アドバイスよろしくお願い致します。 <tr><td colspan=\"2\"> <font color=white>スコアボード<center> <table border=\"1\" bgcolor=\"#009933\" cellspacing=0 bordercolor=\"black\"> "; for($i=0;$i<@score;$i++){ print "<tr>"; @team_score=split(/,/,$score[$i]); if($i eq 0){ print "<tr>"; for($s=0;$s<@team_score;$s++){ if($s eq 0){ print "<td width=80> <font color=\"white\"> <center><i>チーム名 </td>"; }else{ print "<td width=\"20\"> <font color=\"white\"> <center><i>$s </td>"; } } print "<td width=40><font color=\"white\"><center><i>合計</td>"; print "</tr><tr>"; } $point=0; for($j=0;$j<@team_score;$j++){ print "<td><font color=\"white\">"; print"<center>"; if($team eq $team_score[$j]){ print "<b>" } print"$team_score[$j]</td>"; if($j eq 0){ }else{ $point=$point+$team_score[$j]; } } if($cnt[$i-1] eq $j || $i eq 0){ print "<td><font color=\"white\"><center>$point</td>"; }else{ print "<td> <font color=\"white\"><center>× </td> <td> <font color=\"white\"><center>$point </td>"; } print "</tr>"; $cnt[$i]=$j; } print "</table><p></td></tr>"; print "<tr><td bgcolor=\"#778899\" height=100> <font color=white>コメント </td> <td bgcolor=\"#f8f8ff\"> $cmt[$p] </td></tr>"; print "</table>"; print "<p><hr width=500><p>"; } } print " </body></html>"; exit;

    • ベストアンサー
    • CGI
  • 表が崩れるんです。

    他の質問に出ていたのですが、それでも解決しないので、 わかる方いたら、教えてください。 他で出ていたソースです。 <HTML> <BODY> <table width="100" border=1> <tr height="1"><td width="50"><img src="clear.gif" width="50" height="1"></td><td width="50"><img src="clear.gif" width="50" height="1"></td></tr> <tr><td width="50">abc</td><td width="50">ABC</td></tr> <tr><td width="50">abcde</td><td width="50">AB</td></tr> </table> </BODY> </HTML> これは、abcやabcdeぐらいならきれいに表示されるのですが、 abcをaaaaaaaaaaaaa・・・aaaと長くしたときに(width="50"で納まらない時に) aaaaaaaaaaaaa・・・aaaを改行させてでも「width="50"」で納めたいのですが どのようにすればよろしいでしょうか?

  • td width="180" と固定してるのですが・・

    <div style="width:500;height:220;overflow:auto; scrollbar-3dlight-color:#9acd32; scrollbar-arrow-color:#9acd32; scrollbar-darkshadow-color:#ffffff; scrollbar-face-color:#9acd32; scrollbar-highlight-color:#ffffff; scrollbar-shadow-color:#9acd32; scrollbar-track-color:#ffffff; "> <table style="font-size:13px; color:magenta;"><tr align="center"> <td width="180"><img src=""></td> <td width="180"><img src=""></td> <td width="180"><img src=""></td> <td width="180"><img src=""></td> <td width="180"><img src=""></td> </tr></table> </div> img には 110×150 のサイズの写真を入れています。 div width="500" にしているので、180×3=540 ですから3枚目のimgが途中で切れて、残りが横スクロールに引っ込むと思ってたのですが、実際にはimgがぎゅうぎゅうに詰まって4.8枚見えるようになります。 何故 td width を固定しているのに変動してしまうかがわかりません。 どうすれば img と img のあいだを余裕もたせて表示することができますでしょうか? よろしくご教授のほど願います。

    • ベストアンサー
    • HTML
  • CGIの動作環境に関して

    教えて下さい。 私の作成したapacheの環境では、   print "Content-type: text/plain\n\n"; print "Hello Perl !"; この表記ではダウンロードのポップアップが表示されてしまい、 調べたところ、 print "Content-type: text/html\n\n"; print "<html><h1>Hello Perl !</h1>"; のようにhtml形式にすれば正しく表示されるようになりました。 しかし、自分で作成しておきながら、html形式というものが 良くわかりません。 仮に、以下のような"行動予定表"のようなものを表示させたい場合、 どのように"html形式"で記述すれば良いでしょうか。。。。 # 行動予定表の表示 print "Content-type: text/html\n\n"; print qq! <HTML> <HEAD> <TITLE>行動予定表</TITLE> <META Http-Equiv="Content-Type" Content="text/html;charset=shift-jis"> </HEAD> <BODY link="#0000ff" vlink="#0000ff" alink="#0000ff"> <CENTER> <TABLE BORDER="0" WIDTH="90%"> <TD WIDTH="20%"> <FONT SIZE="4"> <IMG src="../../image/mrd3.gif" width="80" height="27" border="0"> </FONT> </TD> <TD WIDTH="60%" ALIGN="center"> <B><U>行動予定表</U></B> </TD> <TD WIDTH="20%" ALIGN="right"> <FONT SIZE="4"><U>$date</U></FONT> </TD> </TABLE> <FONT COLOR="#FF0000"><B>$error</B></FONT><BR> <TABLE BORDER="1" WIDTH="650" CELLPADDING="2" CELLSPACING="1"> <TR ALIGN="center"> <TD NOWRAP WIDTH="150" BGCOLOR="#DDDDDD"> <FONT SIZE="2"><B>名前</B></FONT> </TD> <TD NOWRAP WIDTH="300" BGCOLOR="#DDDDDD"> <FONT SIZE="2"><B>行  先</B></FONT> </TD> <TD NOWRAP WIDTH="150" BGCOLOR="#DDDDDD"> <FONT SIZE="2"><B>帰社時間</B></FONT> </TD> </TR> !; for($loop = 1;$loop <= $#LIST_NAME;$loop++) { $name = qq!<FONT SIZE="2">$LIST_NAME[$loop]</FONT>!; print qq! <TR> <TD WIDTH="2%" VALIGN="middle" NOWRAP> <A HREF="yotei_d1.cgi?edit=$loop">$name</A> </TD> <TD WIDTH="49%" VALIGN="top"> <FONT SIZE="2">$LIST_NOTE[$loop]{'AM'} </FONT> </TD> <TD WIDTH="49%" VALIGN="top"> <FONT SIZE="2">$LIST_NOTE[$loop]{'PM'} </FONT> </TD> </TR> !; } print qq! </TABLE> </CENTER> <CENTER> <TABLE BORDER="0" WIDTH="750" CELLPADDING="0" CELLSPACING="0"> </TABLE> </CENTER> <HR> <CENTER> <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0"> <TR> <TD COLSPAN="3"> <FONT SIZE="2"><B>ご利用のヒント</B></FONT> </TD> </TR> <TR> </TR> <TR> <TD WIDTH="5%"> </TD> <TD WIDTH="15%"> <FONT SIZE="2"><B>■名前</B></FONT> </TD> <TD WIDTH="80%"> <FONT SIZE="2"> 編集したい名前を押すと、登録画面が表示されます。</FONT> </TD> </TR> </TABLE> </CENTER> <P> <CENTER> <P ALIGN="center"> <FONT SIZE=2><I> <A HREF="http://999999">イントラネットトップページへ </A> </I></FONT> </CENTER> </BODY> </HTML> !; 宜しくお願いします。

    • 締切済み
    • CGI
  • HTMLで表を横並びにしたくて、下記のような表を作りました。

    HTMLで表を横並びにしたくて、下記のような表を作りました。 この表をもう一つ右隣に作りたいのですが、どうもうまくいきません。 何を付け足せば横に並んでくれるのでしょうか? <table style= width="500" bgcolor="#007500" cellspacing="1" cellpadding="5"> <tr> <td bgcolor="#e5ffe5" width="120"><font color="#000000"><strong><a href="紹介したURL">ああああ</strong></font></td> <td bgcolor="#ffffff"><font color="#000000"><strong>ああ<br></strong></font></td> </tr> <tr> <td bgcolor="#e5ffe5"><font color="#007500"><strong><a href="紹介したいURL">ああああ</a> </strong></font></td> <td bgcolor="#ffffff"><font color="#000000"><strong>ああ<br></strong></font></td> </tr> <tr> <td bgcolor="#e5ffe5"><font color="#000000"><strong><a href="index.html"></strong></font></td> <td bgcolor="#ffffff"><font color="#000000"><strong>あああああ</strong></font></td> </tr> </table><br> </tr>

  • このようなリンク集を作っているサイト知りませんか?

    以前といっても1ヶ月前ぐらいなのですが、ペーパークラフト関係を巡回していたところとてもいいサイトを見つけたのですが、どうしてもそこの場所がわかりません。早い話どこか忘れてしまった。 覚えているページはリンク集のページで以下のような青い見出しラインがついています。 ペーパークラフト以外にも自動車メーカのリンクがありました。 そしてサイトの他のコンテンツのページからは一見関連なさそうな構成になっていたのを覚えています。 どなたかこのようなリンクのページがあるサイトご存知でしたら教えてください。お願いします。 <html> <body> <table><tr><td width="200" bgcolor="#0000ff"><font color="#ffffff">ペーパークラフト</font></td><td width="200"></td><td width="200" bgcolor="#0000ff" ><font color="#ffffff">自動車</font></td></tr> </table> <br> <table><tr><td width="200" bgcolor="#0000ff"></td><td width="200"></td><td width="200" bgcolor="#0000ff">g</td></tr> </table> </body> </html>

  • セレクト表示方法について

    DBのトップ画面で選択画面の表示項目を1つだけ表示表示して矢印で開けるようにしたいのですが書き換え方がわかりません。 一応、表示部分の↓に書いて見ました sub html { # 表示開始 &header; print <<"EOM"; <table bgcolor="#B5B5B5" cellpadding=4 cellspacing=0 border=0 width="45"> <tr><td align="center"> <A HREF="$homepage" STYLE="text-decoration:none;color:black">戻る</A> </td></tr> </table> <center> <hr width="400" noshade> <font color="$t_color" size="$t_size" face="$t_face"><b>$title</b></font> <hr width="400" noshade> <P> <table><tr><td> $TopMessage </td></tr></table> <form method="POST" action="$script"> <input type=hidden name=mode value="search"> <table border=0 cellpadding=15><tr> EOM # 配列1 $size1 = @part1 + 1; print "<td valign=top><font color=\"$t_color\">■</font> <B>テス</B><br>\n"; print"<select name=P1 size=\"$size1\">\n"; print "<option value=\"99\" selected>指定なし\n"; foreach (0 .. $#part1) { print"<option value=\"$_\">$part1[$_]\n"; } print "</select></td>\n"; print "</tr></table>\n"; print "<font color=\"$t_color\">■</font> <b>キーワード</b> (任意)<br>\n";

    • 締切済み
    • CGI
  • お世話になります。htmlの質問です。

    ただいまテーブル設置のことで悩んでます 更新履歴とTOP絵のテーブルがつながってしまうのです 別々にわけたいのですがいじればいじるほどサイトがめちゃくちゃになります。 自分の今のタグです。 <table width="300" border="0" align="right" cellpadding="1" cellspacing="0" bgcolor="black"> <tr><td> <table border="0" cellspacing="0" cellpadding="6" bgcolor="#FFFFFF" width="300"> <tr><td COLSPAN="6"><FONT COLOR="black"> <IMG src="img/top絵.png" border="0" align="left"> <TABLE width="100" border="0" align="right" cellpadding="1" cellspacing="0" bgcolor="#FFFFFF"> <TR> <TD BGCOLOR="black"> <FONT COLOR="white"><SMALL><B>◆更新履歴。</B></FONT> </TD> </TR> <TD> <style><!--textarea,input{ background-color:#FFFFFF; filter:Alpha(opacity='70'); font-size:x-small; }--></style> どうすればいいようになるんでしょうか? <textarea rows="5" cols="85"> サイト開設しました。

専門家に質問してみよう