2

如果这已经得到回答,我深表歉意(我确定它在某个地方)。我正在寻找一种方法来动态填充数据库中的一组列,同时保持它们均匀(或关闭)。我使用 asp classic 和 SQL Server 2008 来获取数据。

下面的示例是 2 列,只是为了保持简单。我正在考虑找到一种方法来检查我选择的数据条目的数量并除以 2 以均匀地填充列。如果条目的数量类似于 13,那么第一列将有 7,第二列将有 6。我对 asp 和 javascript 还很陌生,所以没有什么能真正吸引我。任何正确方向的帮助或指导将不胜感激。谢谢你。

<html >
<head>

<style type="text/css">
    ul#list { list-style-type: none; }
</style>

</head>
<body>

<table border="0" cellspacing="0" cellpadding="0" width="100%" >
    <tr>
        <div>
            <td>
                <div style="float: left; width:30%;">
                    <ul id="list">                            
                        <li>Left Item 1</li>            
                        <li>Left Item 2</li>            
                        <li>Left Item 3</li>            
                        <li>Left Item 4</li>            
                        <li>Left Item 5</li>            
                    </ul>                           
                </div>

                <div style="float: left; width:30%;">
                    <ul id="list" >                            
                        <li>Middle Item 1</li>          
                        <li>Middle Item 2</li>          
                        <li>Middle Item 3</li>          
                        <li>Middle Item 4</li>          
                        <li>Middle Item 5</li>          
                    </ul>                           
                </div> 

            </td>
     </tr>
 </table>    

</body>    
</html>
4

1 回答 1

2

更新:如果其他人想知道,这就是我最终要做的。我在 SQL Server 中使用 Row Offset 中的方法。

我得到了返回的总行数

SELECT COUNT(*) AS count from table1 ...然后将它们平均分配到列中。

我有 3 列,所以我将总数除以 3,并使用此处描述的 RoundUp 函数将第一列四舍五入http://www.bennysutton.com/Active-Server-Pages/Round-Up-Numbers.aspx

TotalCount = Query01.Fields.Item("count").Value
FirstColumn = RoundUp(TotalCount / 3 , 0)
NewTotalCount = TotalCount - FirstColumn
SecondColumn = TotalCount - NewTotalCount 
ThirdColumn = TotalCount - (FirstColumn + SecondColumn)

然后我将构建行偏移 Query02 将 @startRow 和 @endRow 更改为上述值。从 1 到 FirstColumn,然后 (FirstColumn + 1) 到 (FirstColumn + SecondColumn) 等等......

要回答@Vogel612,我想从上到下从左到右填充第一列,然后是第二列等等。

<table border="0" cellspacing="0" cellpadding="0" width="100%" >
    <tr>
     <div>
       <td>
         <div style="float: left; width:30%;">
           <ul id="list">
           <%Do Until Query02.EOF
                Response.Write"<li> " & Query02.Fields.Item("foo") & " </li>"
            Query02.MoveNext
            LOOP
           Query02.Close%>                            
          </ul>
            <ul id="list">
               etc.....
            </ul> 
         </div>
       </td>
      </tr>
 </table>

我也看到了 id="list" 的问题。我试图摆脱要点。

于 2013-10-22T15:38:46.180 回答