SQL Server 데이터 테이블을 반복하고 각 레코드에 대한 정보를 표시해야합니다. 그러나 각 "이벤트"에 대해 동일한 시작 시간으로 이것을 그룹화해야합니다. 매번 별도의 루프 명령이 아닌 하나의 루프 명령 으로이 작업을 수행하고 싶습니다. 내가 놓친 것이 아마도 단순한 것임을 압니다. 그러나 나는 그것을 이해할 수 없다. 이 이벤트를 시작 시간별로 그룹화하고 싶습니다. 각 시작 시간에 대해 H4 헤더를 갖고 해당 시작 시간에 대한 모든 이벤트를 표시 한 다음 H4 태그를 사용하여 다음 시작 시간으로 이동하고 싶습니다. 그러나 각 시작 시간 그룹에 대해 하나의 H4 태그 만 있습니다. 내 코드는 다음과 같습니다.
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open
strSQL = "SELECT EventTitle, FinalStartTime, FinalEndTime, Organization, description FROM Meetings WHERE ApprovalStatus = 'Approved' ORDER BY FinalStartTime"
Set rstDisplay = Conn.Execute(strSQL)
i=0
While Not rstDisplay.EOF
i=i+1
strSecondStartTime = strStartTime
strStartTime = rstDisplay("FinalStartTime")
strEndTime = rstDisplay("FinalEndTime")
%>
<h4><%=strStartTime%>–<%=strEndTime%></h4>
<table class="prog-table" id="report<%=i%>">
<tr>
<td class="firsttd"><%=rstDisplay("EventTitle")%><span style="float:right; opacity:0.5; display:block; padding-left:50px;"><i class="fa fa-plus" aria-hidden="true"></i></span></td>
</tr>
<tr>
<td>
<p><strong>Presented by:</strong><BR>
<blockquote><%=rstDisplay("Organization")%></blockquote></p>
<p><%=rstDisplay("description")%></p>
</td>
</tr>
</table>
<%
rstDisplay.MoveNext
Wend
rstDisplay.Close
Conn.Close
%>
결과 HTML은 단순화 된 용어 여야합니다.
오전 9:00-오전 10:00
이벤트 1
이벤트 2
오전 11:00-오후 12:00
이벤트 3
이벤트 4
오후 1:00-오후 2:00
이벤트 5
오후 3:00-오후 4:00
이벤트 6
이벤트 7
이벤트 8
현재 내 결과 HTML이 올바르지 않으며 다음과 같이 표시됩니다.
9:00 AM-10:00 AM
이벤트 1
9:00 AM-10:00 AM
이벤트 2
9:00 AM-10:00 AM
이벤트 3
기타 등등.
어떤 그룹에 속해 있는지 추적 <h4>
하고 변경된 경우 에만 표시하십시오 .
G = ""
i = 0
Do Until rs.EOF
strStartTime = rs("FinalStartTime")
strEndTime = rs("FinalEndTime")
If G <> strStartTime & "–" & strEndTime Then
G = strStartTime & "–" & strEndTime
Response.Write "<h4>" & G & "</h4>"
End If
i = i + 1
%>
<table class="prog-table">(etc.)</table>
<%
rs.Movenext
Loop
(당연히 이것은 레코드 세트가 헤더 필드 (귀하의 경우 시작 및 종료 시간)별로 정렬되어 있다고 가정합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다