Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    666

    Aiuto disposizione record in tabella

    Salve ragazzi, premetto che sono alle prime armi con asp e mi sto cimentando in qualcosa di più complicato, almeno per me.

    Vorrei disporre i record di un db all'interno di una tabella già definita, così disposta:

    --------------
    | 1 | 2 |
    --------------
    | 3 | 4 |
    --------------

    ecco, questa è la mia tabella (spero si capisca..).

    Vorrei riuscire ad inserire i dati così come seguono i numeri, nel senso che, se c'è un solo record nel db si posiziona dove c'è il N. 1, se ce ne sono 2 si posiziona dove c'è il N. 2, se ce ne sono 3 si posiziona dove c'è il N. 3 e così via.

    Ecco, il mio problema è che riesco a disporle o tutte in verticale (un record sotto l'altro) o tutte in orizzontale (un record accanto all'altro).

    Spero di essere stato abbastanza chiaro e spero che possiate aiutarmi.

    Thanks!
    AltF4

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    666
    ..vi posto la tabella:

    codice:
    <table width="400" height="414" border="0" cellpadding="0" cellspacing="0">
            <%	
    	Set RecSet = Server.CreateObject("ADODB.Recordset")
    	Visa = "SELECT * FROM Prova ORDER BY ID DESC"
    	RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>
              
             <%	Do Until RecSet.EOF %>  
    			  
             <tr> 
                <td width="10" height="197"></td>
                <td width="185" height="197" align="center" valign="top" class="txt10">
    img src="<%=RecSet("Foto")%>.jpg" width="185" height="139" border="0"> 
                  
     <font color="#01009A"><%=RecSet("Marca")%></font> 
                  - <%=RecSet("Descrizione")%> 
     
     <span class="txt14"><u><font color="#FD5B16">€ 
                  <%=RecSet("Prezzo")%></font></u></span></td>
                <td width="10" height="197"></td>
                <td width="185" height="197" align="center" valign="top" class="txt10">
    			
    <%	RecSet.MoveNext
    	Loop
    	RecSet.Close 
    %>
    </td>
                <td width="10" height="197"></td>
              </tr>
              <tr class="txt10"> 
                <td width="10" height="10"></td>
                <td width="185" height="10" align="center" class="txt10"></td>
                <td width="10" height="10"></td>
                <td width="185" height="10" align="center" class="txt10"></td>
                <td width="10" height="10"></td>
              </tr>
    		  
              <tr> 
                <td height="197"></td>
                <td height="197" align="center" valign="top" class="txt10"></td>
                <td height="197"></td>
                <td height="197" align="center" valign="top" class="txt10"></td>
                <td height="197"></td>
              </tr>
              <tr class="txt10"> 
                <td height="10"></td>
                <td height="10" align="center" class="txt10"></td>
                <td height="10"></td>
                <td height="10" align="center" class="txt10"></td>
                <td height="10"></td>
              </tr>
            </table>
    AltF4

  3. #3
    quando scorri il recordset incrementa una variabile numerica, controlli se è pari o meno ed a secondo di quel valore inizi una nuova riga:

    codice:
    <table width="400" height="414" border="0" cellpadding="0" cellspacing="0">
    
    <%	
    Set RecSet = Server.CreateObject("ADODB.Recordset")
    Visa = "SELECT * FROM Prova ORDER BY ID DESC"
    RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic 
    
    i = 0
    
    Do Until RecSet.EOF 
    
             if i mod 2 = 0 then 
                      if i > 0 then
                               response.write "</tr>"
                      end if
    
                      response.write "<tr>"
             end if
    
             response.write "<td>"
             response.write RecSet("Prezzo")
             response.write "</td>"
    
             RecSet.MoveNext
    
             i = i + 1
    Loop
    
    %>
    </table>

    dovrebbe essere qualcosa del genere controlla se funziona
    prude il dito, lui sdraiato
    ha giocato a guardie e ladri col ladro sbagliato

  4. #4

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    666
    Originariamente inviato da santino83
    LEGGI QUESTO
    PERFETTO!!!

    Ho modificato quanto scritto nel post che mi hai consigliato, ti ringrazio, ho risolto alla grande!

    AltF4

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    666
    Salve di nuovo ragazzi, riposto questo post (scusate il gioco di parole) perchè ho dovuto effettuare alcune modifiche a quanto avevo realizzato con il vostro aiuto ed ora ho un grande problema:

    in pratica sono riuscito a far si che si duplichino le celle all'interno di una tabella, ma ho cambiato disposizione alla tabella e ho aggiunto un elemento ed ora non mi funziona più.

    Mi spiego meglio, con il vostro aiuto sono riuscito a disporre i dati in una tabella, 2 per ogni riga. Fino a qua tutto funzionava.

    Ora devo disporne 3 per ogni riga e in più la tabella ha una riga in più. Ecco questa riga in più, che contiene il titolo della news mi viene visualizzata solo nella prima, nella seconda scompare e non si visualizza proprio. Probabilmente è un problema banale, ma proprio non riesco a trovare una soluzione.

    codice:
      <%	
    			Set RecSet = Server.CreateObject("ADODB.Recordset")
    			Visa = "SELECT TOP 6 * FROM News ORDER BY ID DESC"
    			RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>
                <% 
    			cella = 1
    			Do While not RecSet.eof
    			
    			if cella = 1 then
    	 	  	%>
                  <tr> 
    				<td width="5" height="5" class="txt10">[img]../immagini/components/1x1.gif[/img]</td>
                    <td width="205" height="5" class="txt10">[img]../immagini/components/1x1.gif[/img]</td>
                    <td width="5" height="5" class="txt10">[img]../immagini/components/1x1.gif[/img]</td>
                  </tr>
    			  <tr>
                    <td height="15" class="txt12"></td>
                    <td width="205" height="15" bgcolor="#D6001F" class="txt12"><font color="#FFFFFF"><%=RecSet("TitoloBreve")%></font></td>
                    <td height="15" class="txt12"></td>
                  </tr>
                  <tr>
                    <%
    				end if
    				if cella < 4 then
    				%>
                    <td width="5" class="txt10"></td>
                    <td width="205" height="115" align="left" valign="top" class="txt10"> 
                      [img]/public/news/<%=RecSet([/img]" width="205" height="72" border="0">
     
    				  <font color="#042372"><%=RecSet("Introduzione")%>... [img]../immagini/components/Continua.gif[/img]</font></td>
                    <td width="5" class="txt10"></td>
                    <%
    				cella = cella + 1
    				end if
    			
    				if cella = 4 then
    			   	cella = 1
    				%>
                  </tr>
                  <% end if 
    		   		 RecSet.movenext
    		  		 loop
    		  		 RecSet.Close
    		  	  %>
                </table>
    Spero che riusciate ad aiutarmi.
    AltF4

  7. #7
    non è che potresti metterci qualche commeno a quel codice?

    ad un punto c'è
    codice:
    <tr>
    <%end if %>
    è notevolmente sbagliata come cosa...metti <tr> dopo l'end if (è il blocco dell'if cella=1)


  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    666
    ho fatto come consigliato da te, ma così facendo dispone i dati una riga sotto l'altra.
    Io dovrei invece disporne 3 per ogni riga.

    Lo so, il codice non è molto chiaro, ma in pratica ho una piccola tabella di 3 righe x 3 colonne. La prima colonna è vuota e mi serve da margine (5 pixel), così come la terza. La seconda colonna è (come le altre) divisa in 3 righe, dove la prima in alto mi serve come margine (5 pixel), la seconda contiene il titolo della news (recset preso dal db) e la terza (che è la più grande) contiene la foto (recset dal db) e l'introduzione (sempre recset dal db).

    Con il codice che ho riportato, mi duplica soltanto la terza riga, non visualizzandomi il titolo nelle news successive alla prima.

    Help!
    AltF4

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    666
    ecco come dovrebbe visualizzarmi i dati:


    --------------------------------
    | Titolo1 | Titolo2 | Titolo3 |
    |
    | Testo1 | Testo2 | Testo3 |
    --------------------------------
    | Titolo4 | Titolo5 | Titolo6 |
    |
    | Testo4 | Testo5 | Testo6 |
    --------------------------------


    invece me li visualizza così:

    --------------------------------
    | Titolo1 |---------|---------|
    |
    | Testo1 | Testo2 | Testo3 |
    --------------------------------
    | Titolo4 |----------|---------|
    |
    | Testo4 | Testo5 | Testo6 |
    --------------------------------

    AltF4

  10. #10
    a) ma titolo1 fa parte del record1 che contiene anche il campo testo1?
    b) se la risposta è si, la struttura html della tabella è questa:

    codice:
    <table>
    <tr>
    <td>  
            <table> 
            <tr>
            <td>titolo1</td>
            </tr><tr>
            <td>testo1</td>
            </tr>
           </table>
    </td>
    <td> 
            <table>
            <tr>
            <td>titolo2</td>
            </tr><tr>
            <td>testo2</td>
            </tr>
           </table>
    </td>
    
    <td> 
            <table>
            <tr>
            <td>titolo3</td>
            </tr><tr>
            <td>testo3</td>
            </tr>
           </table>
    </td>
    </tr>
    </table>
    c) detto questo, un pò di sforzo e vedrai che ci riesci da solo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.