• 締切済み

テーブルの自動生成

プログラミング/初心者です。 aspを勉強しております。ご教授下さい。 aspで<table>を自動作成したいとおもっております。 やりたいことは、以下です。 <table> <tr> <td></td> </tr> <table> 行、列をプログラムで生成 ・3列目で折り返すてきな... ・行、列を数字で指定したら<table>が生成される  (プログラム内に 行=5 列=5 など) 今は、( do , loop , response.write )程度しか理解できていません。 お願いします。 余談なのですが、なにか、よい参考書など御座いましたらお教え下さい。

みんなの回答

回答No.2

#1 Wizard_Zeroです。 ・1~100の間で3と5の倍数だけ出力 ・横3列になったら次の行へ こんな感じでしょうか [3|5|6] [9|10|12] [15|18|20] 可変幅フォントだと表現しにくい (-"-;) 考え方 ・1~100までカウントするループをつくる ・3か5の倍数のときに<td>~</td>を出力し、出力した回数を数える ・<td>~</td>を3つ出力したら</tr>を置く 問題は<tr>の置きどころですが、<td>~</td>を出力する直前で、出力回数が0の場合は<tr>を置くようにすれば大丈夫です。 外郭だけ載せますので参考にしてみてください。 <table> <% Dim cnt As Integer, td As Integer cnt = 0 td = 0 Do cnt = cnt + 1  If (cnt Mod 3) = 0 or (cnt Mod 5) = 0 Then   If td = 0 Then   [ここで<tr>を出力]   End If  [ここで<td>~</td>を出力]  td = td + 1   If td = 3 Then   [ここで</tr>を出力]   td = 0   End If  End If Loop While cnt < 100 %> </table> 数えてみたら、1~100までの3か5の倍数は全部で47個かな? 3列で揃えるには<td></td>が1個足らないので最後の</tr>は出力されません。 手書きで付け足すなりtdから不足分を補うなりしてみてください。

iroom0928
質問者

お礼

有り難う御座います!!! 出来ました。 次はカレンダーを作ってみようと思ってます^^ 本当に有り難う御座いました。 また、道に迷ったら質問させて頂きます。

回答No.1

<% Dim intTR As Integer, intTD As Integer Dim i As Integer, l As Integer intTD = 5 ' 列数 intTR = 5 ' 行数 %> <table> <% For i = 1 To intTR %> <tr> <% For l = 1 To intTD %> <td></td> <% Next l %> </tr> <% Next i %> </table> こういうことでよろしいですかな?

iroom0928
質問者

補足

本当に有り難う御座います。 とても勉強になりました!! 私は、Do Until...loopでやってみました。 しかし、なんかいまいちで、、、 今はテーブルに数字をカウントし(1~100)、 IF文を使い3、5の倍数にリンクを貼るということをやっているのですが うまくいきません。 ソースを書きますので、みていただけませんか。 宜しくお願いします。 -------------------------------------------------- <% Option Explicit Dim i,j,cnt,MAXCOLS,MAXROWS i = 0 j = 0 cnt = 0 %> <table border="1"> <% MAXROWS = 10 Do Until MAXROWS = j %> <tr> <% for i = 1 to 10 cnt = cnt + 1 %> <td width="30"><%=cnt%></td> <% if(i mod 3) = 0 then %> <td width="30"><a href="http://www.yahoo.co.jp"><%=cnt%></a></td> <% elseif(i mod 5) = 0 then %> <td width="30"><a href="http://www.google.co.jp"><%=cnt%></a></td> <% end if %> <% next %> </tr> <% j = j + 1 loop %> </table> -------------------------------------------------- 倍数字に数字がかぶってしまします。。。

関連するQ&A

  • テーブルに画像を入れると、テーブルの幅が広がってしまいます

    HTML初心者の者です。 3行2列のテーブルを作り、左側の列に縮小した画像を入れたのですが、左側の列が画面いっぱいに広がってしまい、画像の幅に合わせて幅を狭くすることが出来ないでいます。 どうしたら、画像の幅に合わせて左列の幅を狭くすることが出来るでしょうか。 その部分のHTMLは、以下の通りです。 <table border="0" align="center"> <tr> <td><img src="*****.jpg" width=20% align="right"> </td> <td>説明文・・・・</td> </tr> <tr> </td><img src="*****.jpg" width=20% align="right"> </td> <td>説明文・・・・</td> </tr> <tr> </td><img src="*****.jpg" width=20% align="right"> </td> <td>説明文・・・・</td> </tr> </table>

    • ベストアンサー
    • HTML
  • テーブルの大きさを揃えたい

    各ページの大きさ=高さが揃わないのですが原因がわかりません。 1.文字の高さが指定した高さより大きい?(普通の文字の高さは決まっているのでしょうか。) 2.入れ子にしているテーブルで2行の所が指定した高さより大きい? 3.CSSスタイルの背景の高さが関係している? 4.全体の大きさがずれている? 参考にHTML(高さのみ)抜き出しますので教えていただけませんか。 【ページ1】 <table width="700" height="55" border="0"> <tr> <td><img.gif height="40"> welcome homepage(見た目は2行)</td> <td> </td> <td align="right" valign="bottom"> <img.gif" height="20" ></td></tr></table> <table height="15"></table> <table height="430"> <tr><td height="375"><flash.swf height="360"></td></tr> <tr><td height="25"></td></tr> <tr><td height="15"></td></tr></table> 【ページ2】 <table width="700" height="55" border="0"> <tr> <td height="40"> <img.gif height="40"></td> <td height="40"> </td> <td height="40"></td></tr> <tr><meta http-equiv="Content-Style-Type" content="text/css"> <td height="15"> welcome homepage </td> <td height="15"></td> <td align="right" height="15">|HOME|MAP|MAIL|</td></tr></table> <table height="15"></table> <table height="430"> <tr><td> <table height="10"> <tr><td height="15"></td></tr> <tr><td><IFRAME height="380"></IFRAME></td></tr> </table></td></tr> <tr><td height="15"></td></tr></table>

  • IEソース表示の整理の仕方

    sea_clear_sky8 [環境] OS Win98SE PWS [質問内容] Response.writeメソッドによって、出力されて、<HTML>タグが IEの 「表示」→「ソース」では、1行で表示されてしまいます。 それを区切ってきれいにするにはどうプログラムを出力したらいいのでしょうか? 例 1行に表示される。 <form id="myForm"method="post"action="kousin.asp"><table><tr><TD>id</TD><TD>name</TD></TR><TR><TD> これを下記のように区切って表示されるようにしたいのです。 <form id="myForm" method="post" action="kousin.asp"> <table> <tr> また、ASPファイルのソース、スクリプトをIEの「表示」→「ソース」で みえないようにするにはどうしたらよろしいのでしょうか? ご教授願います。 よろしくお願いします。

  • フォームの値をうまく出力できない

    フォーム(1.htm)で、質問と答えと入力し、 その結果を次のページ(2.asp)で表示させるASPを作成しました。 以下のように作成したいのですが、うまくいきません。 どうしたらいいのでしょうか。 宜しくお願いします。 ・質問と答えは10個入力されるとはかぎらない ・例えば7個入力されたとき、question1からquestion7まで入力されるとはかぎらない(question2が空欄で、question9に入力される場合もある) ・どのように入力された場合でも、qとaの画像は、q1.gif・a1.gifから 連続で表示されるようにする。 ・フォームで入力されたところを上から順番にq1.gif~、a1.gif~の画像を使って、2.aspに表示させる。 ****1.htm***** <form method="POST" action="2.asp"> <input name="question1" type="text"> <input name="answer1" type="text"> … <input name="question10" type="text"> <input name="answer10" type="text"> </form> ****2.asp************ question1 = Request.Form("question1") answer1 = Request.Form("answer1") … question10 = Request.Form("question10") answer10 = Request.Form("answer10") Response.Write ("<table>") Response.Write ("<tr>") Response.Write ("<td><img src= q1.gif></td>") Response.Write ("<td>" & question1 & "</td>") Response.Write ("</tr>") Response.Write ("<tr>") Response.Write ("<td><img src= a1.gif></td>") Response.Write ("<td>" & answer1 & "</td>") Response.Write ("</tr>") … Response.Write ("<tr>") Response.Write ("<td><img src= q10.gif></td>") Response.Write ("<td>" & question10 & "</td>") Response.Write ("</tr>") Response.Write ("<tr>") Response.Write ("<td><img src= a10.gif></td>") Response.Write ("<td>" & answer10 & "</td>") Response.Write ("</tr>") Response.Write ("</table>")

  • VBスクリプト どこが間違っているのでしょうか?

    こんにちは、いつもお世話になっています 今回大学のレポートで、アクセスすると九九の表を算出するプログラム(aspで)を作ることになりました。 途中まではなんとかやってみたものの行き詰ってしまいました!! どこかが間違っているのだと思うのですがどこか全くわかりません…。 以下が実際にわたしが書いている<body>内です。 <body> <% Response.write "<table border=1>" Response.write "<tr>" Response.write "<td border=1>" For i=1 to 9 For j=1 to 9 A=j*i Response.write A Response.write "</td>" Response.write "<td>" Next Response.write "</tr>" Response.write "<tr>" Next Response.write "</table>" %> </body> あ 多分段をつけてるんですが半角スペースが無視されてしまうので読みづらいと思います、すみません。 これを実行すると、 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 4 6 8 10 12 14 16 18 6 9 12 15 18 21 24 27 ・ ・ ・ のようになって 最初の2 3 4 5 …は表に入ってくれません。 その後の横に並んでいる12345…からは表になりますがどうして こうなるのかさっぱりわかりません。 全部をひとつの表に入れたいのです。 もしかして根本的な考え方が間違っているのでしょうか?? すみませんがお分かりの点がありましたら教えていただけませんでしょうか。 なんとなく、答えをそのまま書いてもらうのはずるいような気がするのでヒントだけでもかまいません。 よろしくお願いいたします。

  • TABLEのマスの増やし方

    HTMLのテーブル?について教えて下さい。 ******************************************************************************************************************************* <TABLE class=table_a style="WIDTH: 100%"> <TBODY> <TR> <TD class=table_a_th2>左列</TD> <TD class=table_a_td>中列</TD> <TD class=table_a_td>右列</TD></TR> <TR> <TD class=table_a_th2>左列</TD> <TD class=table_a_td>中列</TD> <TD class=table_a_td>右列</TD></TR> <TR> <TD class=table_a_th2>左列</TD> <TD class=table_a_td>中列</TD> <TD class=table_a_td>右列</TD></TR></TBODY></TABLE> ******************************************************************************************************************************* という記載で、縦3列横3列の表が出来るのですが 表の内容(枠組み)を変更する方法が分かりません。 *********************************************************** <TABLE class=table_a style="WIDTH: 100%"> <TBODY> <TR> <TD class=table_a_th2 rowSpan=2>左列</TD> <TD class=table_a_td>中列</TD> <TD class=table_a_td> <P>右列<BR class=first-child>右列</P> <P>右列</P></TD></TR> <TR> <TD class=table_a_td>中列</TD> <TD class=table_a_td>右列</TD></TR> <TR> ************************************************************* 作成したいのはこのようなイメージのもので 中列と右列を増やして行きたいのです。 どなたか詳しいかたご教授下さい。

    • ベストアンサー
    • HTML
  • テーブルの変数について

    var i; i=10; <table> <tr> <th>見出し</th> <th>見出し</th> </tr> <tr> <td>i<td> <td>data</td> </tr> </table> このようなプログラムを作ったのですが変数の「i」がそのまま表示されてしまうのでどうしたら「i」の中の数字を表示することができるのしょうか。

  • smartでのtable表示について

    ちょっとベタな書き方ですが下記のように、画像と名前のセットを表示して行く時に、 最後、余ったセルに{html_table}などを使って自動的に埋めて行く事は、出来ますでしょうか、 <table width="650" border="0" cellspacing="0" cellpadding="0"> {foreach from=$data item=data key=key name="loop"} {if $smarty.foreach.loop.iteration %5 ==1}<tr>{/if} <td> <table width="125" border="0" cellspacing="0" cellpadding="1"> <tr> <td><a href="{$data.id}.php"><img src="img/{$data.staff_file}" width="125" height="175" border="0"></a> </td></tr> <tr> <td>{$data.name} </td> </td></tr> </table> </td> {if $smarty.foreach.loop.iteration % 5 ==0}</tr>{/if} {/foreach} {if $smarty.foreach.loop.total % 5 ==4}<td> </td>{/if} {if $smarty.foreach.loop.total % 5 ==3}<td> </td><td> </td>{/if} {if $smarty.foreach.loop.total % 5 ==2}<td> </td><td> </td><td> </td>{/if} {if $smarty.foreach.loop.total % 5 ==1}<td> </td><td> </td><td> </td><td> </td>{/if} </table>

    • ベストアンサー
    • PHP
  • tableを自動作成・追加できるプログラムを探しているのです・・

    <table> <tbody> <tr> <td colspan="9" align="center" </TD></td> </tr> <tr> <td colspan="9" <A href="http:// target=" _blank"></td> </tr> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td rowspan="3"></td> <td></td> <td><img src=".jpg"></td> <td></td> <td> <table> <tbody> <tr> <td></td> <td></td> <td></td> </tr> </tbody> </table> </td> <td></td> <td><img src=".jpg"></td> <td><img src=".jpg"></td> <td></td> </tr> <tr> <td></td> <td><img src=".jpg"></td> <td></td> <td> <table> <tbody> <tr> <td></td> <td></td> <td></td> </tr> </tbody> </table> </td> <td></td> <td><img src=".jpg"></td> <td><img src=".jpg"></td> <td></td> </tr> <tr> <td></td> <td><img src=".jpg"></td> <td></td> <td> <table> <tbody> <tr> <td></td> <td></td> <td></td> </tr> </tbody> </table> </td> <td></td> <td><img src=".jpg"></td> <td><img src=".jpg"></td> <td></td> </tr> <tr> <td><img src=".jpg"></td> </tr> </tbody> </table> こんなtableを作成し(tdには数値・文字列・画像が入ります)一つのhtmlファイルに一ヶ月に10個ほど手動でtableを追加しています。 これを入力フォームより数値や文字列・参照画像を入力し、月ごとのhtmlにしてるので、指定したhtmlに反映させるようなプログラム(cgi? javascript? PHP?)をご存じの方いらっしゃいませんでしょうか?

  • テーブルの変数について

    var i; i=10; <table> <tr> <th>見出し</th> <th>見出し</th> </tr> <tr> <td>i<td> <td>data</td> </tr> </table> このようなプログラムを作ったのですが変数の「i」がそのまま表示されてしまうのでどうしたら「i」の中の数字を表示することができるのしょうか。初心者なのでまだまだわからないことがたくさんありますがよろしくお願いします。

専門家に質問してみよう