dポイントプレゼントキャンペーン実施中!

プログラミング/初心者です。
aspを勉強しております。ご教授下さい。

aspで<table>を自動作成したいとおもっております。

やりたいことは、以下です。
<table>
<tr>
<td></td>
</tr>
<table>
行、列をプログラムで生成
・3列目で折り返すてきな...
・行、列を数字で指定したら<table>が生成される
 (プログラム内に 行=5 列=5 など)

今は、( do , loop , response.write )程度しか理解できていません。

お願いします。

余談なのですが、なにか、よい参考書など御座いましたらお教え下さい。

A 回答 (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から不足分を補うなりしてみてください。
    • good
    • 0
この回答へのお礼

有り難う御座います!!!
出来ました。

次はカレンダーを作ってみようと思ってます^^

本当に有り難う御座いました。
また、道に迷ったら質問させて頂きます。

お礼日時:2009/05/22 16:37

<%


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>
--------------------------------------------------
倍数字に数字がかぶってしまします。。。

補足日時:2009/05/21 21:18
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!