24 messaggi dal 20 gennaio 2005
Salve a tutti...
vorrei saper se è possibile estrarre dei valori dal database e mostrarli in orizzontale e non in verticale come dal seguente codice

**********************************************************************
<!--#INCLUDE FILE="conn.asp"-->
<%
set rsmarca = server.CreateObject("ADODB.Recordset")
rsmarca.open "select * from gruppo where id <> 28 order by gruppo", dataConn, 3, 3
if rsmarca.recordcount > 0 then
rsmarca.movefirst %>
<table border="1" cellpadding="0" cellspacing="0" width="11%" height="8%" style="border-collapse: collapse" bordercolor="#E9E9E9"><tr>
<% do while not rsmarca.eof %>
<td>
<b><font style="font-size: 8pt" face="Arial Narrow"><%=rsmarca("gruppo")%></font></b></td>
</tr>
<tr>
<td>
<p align="center"><a href="Prodotti.asp?gruppo=<%=rsmarca("id")%>">
<img border="0" src="Images/Icone/<%=rsmarca("immagine")%>" width="75" height="70"></a></p>
</td></tr>
<% rsmarca.movenext
loop
end if %>
</table>


grazie
Simone
308 messaggi dal 13 luglio 2005
Ciao Simone,
puoi utilizzare una tabella (con una riga e una colonna) che fa da "contenitore" e far ripetere, al suo interno, la tabella che hai indicato tu ...
Quindi modificando il tuo codice, si avrà:

**********************************************************************
<!--#INCLUDE FILE="conn.asp"-->
<%
set rsmarca = server.CreateObject("ADODB.Recordset")
rsmarca.open "select * from gruppo where id <> 28 order by gruppo", dataConn, 3, 3
if rsmarca.recordcount > 0 then
rsmarca.movefirst %>
<table>
<tr><td>
<% do while not rsmarca.eof %>
<table border="1" cellpadding="0" cellspacing="0" width="11%" height="8%" style="border-collapse: collapse" bordercolor="#E9E9E9"><tr>
<td>
<b><font style="font-size: 8pt" face="Arial Narrow"><%=rsmarca("gruppo")%></font></b></td>
</tr>
<tr>
<td>
<p align="center"><a href="Prodotti.asp?gruppo=<%=rsmarca("id")%>">
<img border="0" src="Images/Icone/<%=rsmarca("immagine")%>" width="75" height="70"></a></p>
</td></tr>
</table>
<% rsmarca.movenext
loop
%>
</td></tr>
</table>
<% end if %>

non l'ho provato, ma ... dovrebbe andare  . Fammi sapere.

Ciao.

Umb
24 messaggi dal 20 gennaio 2005
Grazie per la risposta...
purtroppo il risultato è uguale al mio
controlla a questo indirizzo :

http://www.interninet.it/catego_prova.asp
308 messaggi dal 13 luglio 2005
Ciao Simone,
... ops  hai ragione ...!
Riprova così (stavolta l'ho provato ...):

**********************************************************************
<!--#INCLUDE FILE="conn.asp"-->
<%
set rsmarca = server.CreateObject("ADODB.Recordset")
rsmarca.open "select * from gruppo where id <> 28 order by gruppo", dataConn, 3, 3
if rsmarca.recordcount > 0 then
rsmarca.movefirst %>
<table border="0">
<tr>
<% do while not rsmarca.eof %>
<td valign="bottom">
<table border="1" cellpadding="0" cellspacing="0" width="11%" style="border-collapse: collapse" bordercolor="#E9E9E9"><tr>
<td>
<b><font style="font-size: 8pt" face="Arial Narrow"><%=rsmarca("gruppo")%></font></b></td>
</tr>
<tr>
<td>
<p align="center"><a href="Prodotti.asp?gruppo=<%=rsmarca("id")%>">
<img border="0" src="Images/Icone/<%=rsmarca("immagine")%>" width="75" height="70"></a></p>
</td></tr>
</table>
</td>
<% rsmarca.movenext
loop
%>
</tr>
</table>
<% end if %>

Ho tolto nelle tue tabelle l'opzione "height" che disallineava le tabelle.
Fammi sapere.

Ciao.

Umb
24 messaggi dal 20 gennaio 2005
Grazie umb...funziona alla perfezione...
è anche possibile specificare quanti metterne per riga ?

martenz
308 messaggi dal 13 luglio 2005
Ciao martenz,
be' per farlo su più righe ci vuole una piccola modifica ...

Di seguito la nuova versione ...:

**********************************************************************
<!--#INCLUDE FILE="conn.asp"-->
<%
MaxColonne = 5
%>
<%
set rsmarca = server.CreateObject("ADODB.Recordset")
rsmarca.open "select * from gruppo where id <> 28 order by gruppo", dataConn, 3, 3
if rsmarca.recordcount > 0 then
rsmarca.movefirst %>
<table border="0">
<tr>
<%
Indice = MaxColonne
do while not rsmarca.eof
Indice = Indice - 1
if Indice = 0 then
Indice = MaxColonne
%>
</tr>
<tr>
<%
end if
%>
<td valign="bottom">
<table border="1" cellpadding="0" cellspacing="0" width="11%" style="border-collapse: collapse" bordercolor="#E9E9E9"><tr>
<td>
<b><font style="font-size: 8pt" face="Arial Narrow"><%=rsmarca("gruppo")%></font></b></td>
</tr>
<tr>
<td>
<p align="center"><a href="Prodotti.asp?gruppo=<%=rsmarca("id")%>">
<img border="0" src="Images/Icone/<%=rsmarca("immagine")%>" width="75" height="70"></a></p>
</td></tr>
</table>
</td>
<%
rsmarca.movenext
loop
do while (Indice > 0)
Indice = Indice - 1
%>
<td></td>
<%
loop
%>
</tr>
</table>
<% end if %>

Ho introdotto una costante (MaxColonne), a cui puoi impostare un valore iniziale a tuo piacere, che fa creare una nuova riga nella tabella. Inoltre un secondo ciclo (subito dopo la fine del primo ciclo) crea le celle dell'ultima riga eventualmente incompleta. Anche questa volta non l'ho provato  , quindi (se qualcosa non va) dovresti fare un po' di debug sui valori di "Indice" ... Fammi sapere.

Ciao.

Umb
24 messaggi dal 20 gennaio 2005
Grazie 1000....funziona
c'è solo una stranezza...
mi mette 4 immagini nella prima riga, 5 nella seconda, 5 nella terza e le rimanenti 3 nell'ultima.
Come mai non mi mette 5 immagini nella prima fila ?
308 messaggi dal 13 luglio 2005
... te l'avevo detto di controllare i valori della variabile "Indice" ...  !

Comunque prova a spostare la riga (che si trova all'inizio del primo ciclo):

Indice = Indice - 1

alla fine del primo ciclo, cioè subito dopo la riga:

rsmarca.movenext

ma prima dell'istruzione "loop"

Fammi sapere come va ...

Umb

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.