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"
...
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.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]
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:
Qualche idea?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
Grazie!![]()

						
					
					
					
						
  Rispondi quotando