Сортировать по заголовку столбца TD по Classi c ASP - PullRequest
1 голос
/ 28 февраля 2020

Мне нравится сортировать по столбцу TD. Сортировка по идентификатору, когда я открываю веб-страницу. Затем, когда я нажимаю на Фамилию или имя, она сортируется по AS C, если я нажимаю ее снова, она сортируется по DES C.

Вот мой код, у меня ошибка.

Не могли бы вы помочь?

спасибо.

Dim sOrder
sOrder="ASC"
If Request("sort")="ASC" Then
 sOrder="DESC"
End If
%>
<table>
<tr>
<td>Class</td>
<% If sOrder = "ASC" Then %>
<td "<a href='?sort=" & sOrder & ">" >Last name</td>
<% Else %>
<td "<a href='?sort=" & sOrder & ">">Last name</td>
<% End If %>
<% If sOrder = "ASC" Then %>
<td "<a href='?sort=" & sOrder & ">" >First name</td>
<% Else %>
<td "<a href='?sort=" & sOrder & ">">First name</td>
<% End If %>
</tr>

<%
rsSQL.Open "select * from students ORDER BY " & sColumn & " " & sOrder, conn
If Not rsSQL.EOF Then
        nNo = 1
        While Not rsSQL.EOF
        ID          = rsSQL.Fields("ID")
        Lastname            = rsSQL.Fields("Lastname")
        Firstname       = rsSQL.Fields("Firstname")
%>

<tr>
<td><%= ID%></td>
<td><%= Lastname%></td>
<td><%= Firstname%></td>
</tr>
<%
        rsSQL.MoveNext  
        nNo = nNo + 1
        Wend    
rsSQL.Close
    End If
%>

1 Ответ

1 голос
/ 28 февраля 2020

Попробуйте

Dim sOrder, sColumn
sColumn="ID"
sOrder=""
If Request.QueryString("sort") = "ASC" Then
    sOrder = "DESC"
End if
If Request.QueryString("col") = "Firstname" OR Request.QueryString("col") = "Lastname" Then 
    sColumn = Request.QueryString("col")
End If
%>
<table>
    <tr>
        <td>Class</td>
<% If sColumn = "Lastname" AND sOrder = "ASC" Then %>
        <td><a href="?col=Lastname&amp;sort=DESC">Last name</a></td>
<% Else %>
        <td><a href="?col=Lastname&amp;sort=ASC">Last name</a></td>
<% End If %>
<% If sColumn = "Firstname" AND sOrder = "ASC" Then %>
        <td><a href="?col=Firstname&amp;sort=DESC">First name</a></td>
<% Else %>
        <td><a href="?col=Firstname&amp;sort=ASC">First name</a></td>
<% End If %>
    </tr>

<%
rsSQL.Open "select * from students ORDER BY " & sColumn & " " & sOrder, conn
...
%>

    <tr>
        <td><%= ID %></td>
        <td><%= Lastname %></td>
        <td><%= Firstname %></td>
    </tr>
<%
...
%>
...