Il problema è questo: in un elenco faccio variare "class" in base a quale record viene mostrato.
Mi spiego meglio.
Ho diverse classi che, nell'elenco, devono essere messe in base a questo criterio:
primo elemento - class "first"
secondo elemento - class "second"
terzo elemento - class "first"
quarto elemento - class "second"
...
ultimo elemento - class "last" o se i record sono dispari class "first".
Per esempio, se ho 4 record:
first
second
first
last
Se ho 5 record:
first
second
first
second
first
Il problema sta nell'impostare class = "last".
Posto un codice che mi restuisce questo:
primo elemento - class "first"
secondo elemento - class "second"
terzo elemento - class "first"
quarto elemento - class "second"
...
codice:
<ul id="sponsors">
<%
boxtype = "first"
SqlString = "SELECT img, id, titolo FROM sponsor WHERE attiva='1' ORDER BY pos ASC"
SET RS = Conn.Execute(SqlString)
WHILE NOT RS.EOF
%>
<li class="<%= boxtype %>">
<a href="javascript:apriPOPUP('sponsor_popup.asp?id=<%=RS("id")>','titolo',640,500,0,0)">
[img]images/sponsor/mini_thumb/<%=RS([/img]" border="0" alt="<%=RS("titolo")%>" />
</a>
<%
If boxtype = "first" Then
boxtype ="second"
Else
boxtype = "first"
End If
RS.MoveNext
WEND
%>[/list]
A questo punto vorrei impostare un ciclo IF che vada a testare se il record corrente è l'ultimo... ma non riesco a venirne a capo.
Se riuscissi a "ragionare" sul record corrente, farei così:
- Parto e assegno (al primo) class="first" (adesso è così).
- Se c'è un solo record, il ciclo è finito.
- Se c'è più di un record.
- conto quanti record sono presenti = TOTALE.
- poi devo assegnare la classe al record successivo.
Quindi:
codice:
IF TOTALE meno la posizione del record precedente =1 AND boxtype del record precedente = "first" THEN
(vuol dire che sono arrivato all'ultimo record) boxtype= "last"
ELSE
boxtype = "first".
END IF
Qualche idea?
Grazie!