Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    stampare un numero predefinito di div mediante asp

    in un database ho un numero 'X' di record, che può variare. Ad esempio: 7

    Ora, si tratta di leggere i record uno ad uno e stampare i dati sullo schermo, utilizzando html e css.
    Nel mio caso vorrei ad esempio stampare 7 riquadri (div) contenenti i dati dei records, e li vorrei stampare massimo 3 per riga. Cioè una cosa di questo tipo:

    OOOOO OOOOO OOOOO
    OOOOO OOOOO OOOOO
    OOOOO OOOOO OOOOO

    OOOOO OOOOO OOOOO
    OOOOO OOOOO OOOOO
    OOOOO OOOOO OOOOO

    OOOOO
    OOOOO
    OOOOO



    Mi chiedevo dunque se poteto usare un codice di questo tipo:

    FOR pippo=1 TO X STEP 3 (esiste il 'step' in ASP??)

    ***STAMPA 3 BOX a partire da quello numero 'pippo' ***

    NEXT
    Where there is a will, there is a way

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Certo che esiste STEP.
    Ma sicuro ti serva?

    Roby

  3. #3
    forse no: ci stò lavorando sopra proprio adesso, è una cosa abbastanza intrigante

    In pratica apro il database e devo lavorare dentro il DO-WHILE:

    DO

    bla bla bla

    WHILE


    come detto, si tratta di stampare un max di 3 elementi per riga, fino a 'X' elementi.
    Ogni elemento va in un apposito BOX(div). Se riesco a cavarne piede aggiorno il topic
    Where there is a will, there is a way

  4. #4
    OK Roby magari può servirti in futuro, beccati questo:







    <td colspan=2 width=504 height=400valign="top" bgcolor="#ffffff">

    <%


    ' OK creiamo dentro questo spazio (colonna) una tabella larga 504 pixel

    Response.write("<table CELLSPACING=0 CELLPADDING=0 border=0 BGCOLOR=""0000FF"">")




    ' Andiamo a leggere il database per vedere QUANTI record ci sono in tutto...
    '
    Set myConnection = Server.CreateObject("ADODB.Connection")
    myConnection.connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("public/prodotti/tipi.mdb")& ";"
    myConnection.Open
    Set myRS = Server.CreateObject("ADODB.Recordset")
    myRS.Open "Select count(*) as quantirecord from tabella", myConnection
    totalerecord=myRS("quantirecord")
    myRS.Close
    Set myRS=Nothing
    myConnection.Close
    Set myConnection=Nothing
    '
    ' OK adesso so che ci sono un totale di 'totalerecord' =)







    Set myConnection = Server.CreateObject("ADODB.Connection")
    myConnection.connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("public/prodotti/tipi.mdb")& ";"
    myConnection.Open
    Set myRS = Server.CreateObject("ADODB.Recordset")
    myRS.Open "SELECT * FROM tabella ORDER BY id", myConnection

    indice=0

    Response.write("<tr>")

    Do While Not myRS.EOF


    FOR xxx=1 TO 3

    IF indice=totalerecord THEN
    exit for
    END IF

    indice=indice+1

    tiptitolo=myRS.Fields("nometipo")

    IF xxx=1 THEN
    Response.write("<td width=200 height=200 bgcolor=""cccccc"">")
    Response.write(tiptitolo)
    Response.write("</td>")

    ' Se dopo non ci sono altri record...
    IF totalerecord=indice THEN
    Response.write("<td width=200 bgcolor=""dddddd""></td>")
    Response.write("<td width=104 bgcolor=""eeeeee""></td>")
    Response.write("</tr>")
    END IF
    END IF


    IF xxx=2 THEN

    Response.write("<td width=200 height=200 bgcolor=""dddddd"">")
    Response.write(tiptitolo)
    Response.write("</td>")

    ' Se dopo non ci sono altri record...
    IF totalerecord=indice THEN
    Response.write("<td width=104 height=200 bgcolor=""eeeeee""></td>")
    Response.write("</tr>")
    END IF
    END IF


    IF xxx=3 THEN
    Response.write("<td width=104 height=200 bgcolor=""eeeeee"">")
    Response.write(tiptitolo)
    Response.write("</td>")

    ' Devo in ogni caso chiudere la riga...
    Response.write("</tr>")

    ' Se CI sono altri record, dopo questo, alora riapriamo un'altra riga...
    IF totalerecord>indice THEN
    Response.write("<tr>")
    END IF
    END IF

    myRS.MoveNext()

    NEXT

    Loop


    myRS.Close
    Set myRS=Nothing
    myConnection.Close
    Set myConnection=Nothing

    Response.write("</table>")

    %>

    </td>



    OVVIAMENTE non escludo che il tutto si possa ottimizzare: semplicemente, così come è adesso funziona perfettamente, anche se si hanno 0, 1, 2, 3, 4, ... record nel database (vengono sempre visualizzati 3 per riga).
    Certo adesso sarebbe intrigante programmare qualcosa per gestire 'X' elementi per riga!!
    Where there is a will, there is a way

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 © 2026 vBulletin Solutions, Inc. All rights reserved.