- 締切済み
テーブルの自動生成
プログラミング/初心者です。 aspを勉強しております。ご教授下さい。 aspで<table>を自動作成したいとおもっております。 やりたいことは、以下です。 <table> <tr> <td></td> </tr> <table> 行、列をプログラムで生成 ・3列目で折り返すてきな... ・行、列を数字で指定したら<table>が生成される (プログラム内に 行=5 列=5 など) 今は、( do , loop , response.write )程度しか理解できていません。 お願いします。 余談なのですが、なにか、よい参考書など御座いましたらお教え下さい。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- うぃず(@Wizard_Zero)
- ベストアンサー率69% (344/495)
#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から不足分を補うなりしてみてください。
- うぃず(@Wizard_Zero)
- ベストアンサー率69% (344/495)
<% 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> こういうことでよろしいですかな?
補足
本当に有り難う御座います。 とても勉強になりました!! 私は、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> -------------------------------------------------- 倍数字に数字がかぶってしまします。。。
お礼
有り難う御座います!!! 出来ました。 次はカレンダーを作ってみようと思ってます^^ 本当に有り難う御座いました。 また、道に迷ったら質問させて頂きます。