0

dbからの投稿をペアで表示する必要がありますが、それを行うための最良の方法がわかりません。このページはクラシックASPで作成されています。

この構造を取得したい:

<ul>
<li>

<img src="image_1.jpg" />
<img src="image_2.jpg" />

</li>
<li>

<img src="image_3.jpg" />
<img src="image_4.jpg" />

</li>
</ul>

では、以下から始める場合、aspでそれを行うにはどうすればよいですか?

    <ul>

<% do until rs.eof%>
    <li>

    <img src="<%=rs("image")%>" />


    </li>
<% rs.movenext
   loop %>

どんな入力でもありがたいです、ありがとう!

4

3 に答える 3

1

これは、ClassicASPの質問でテーブルの行の色を交互に取得する方法のバリエーションです。基本的には、レコードセットをループするときにカウントを実行し、現在の値が奇数か偶数かを確認する必要があります。あなたがグーグルするならたくさんの例があります-ここに1つがあります

http://www.aspwebpro.com/aspscripts/database/alternaterowcolor.asp

この例では、テーブルの行を指定するのではなく、次のようにすることができます。

<ul>
<li>    
<% iRecordCount = 0 
do until rs.eof
iRecordCount = iRecordCount+1 %>
<img src="<%=rs("image")%>" />
<% IF iRecordCount Mod 2 = 0 THEN %>
</li>
<li>
<% END IF %>
<% rs.movenext
loop 
IF iRecordCount Mod 2 = 0 THEN %>
</ul>
<% else %>
</li>
</ul>
<% end if %>

CSSの人々に何かアイデアがあるかどうか尋ねる価値があるかもしれません。私はあなたが探しているものが基本的な順序付けられていないリストとして行われているのを見たと確信しています

于 2013-03-10T13:10:10.137 に答える
0

変数を使用して、インクリメントしてからリセットしてみませんか。

Dim i = 1

Do until rs.EOF
  If i = 1 Then
    Response.Write "<li>"
  End If

  Response.Write "<img src=""" & rs("image") & """ />"

  If i>=2 Then
    Response.Write "</li>"
    i = 0
  End If

  i = i + 1
  rs.movenext
Loop
于 2013-03-10T17:42:06.357 に答える
0

私はこのコードでそれを解決しました:

<ul>
<% dim irecordcount
irecordcount=1
%>

<li>

<% do until rs.eof %>

<img src="<%=rs("big_image")%>" />
<!--Im only displaying 30 images and here I write the </li><li> if it an even row, and also I dont write the last </li><li>-->
<%if irecordcount mod 2=0 and irecordcount <>30 then%>
</li>
<li>
<% end if
irecordcount=irecordcount+1
rs.movenext
loop%>
 </li>          
</ul>
于 2013-03-12T15:06:12.883 に答える