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

    Ottimizzare il numero di query

    Salve a tutti, rieccomi di nuovo qui. Vi spiego il mio problema.
    In una tabella memorizzo dei nomi e tramite una select li tiro fuori.
    Questi nomi li vorrei impaginare in una tabella di tre colonne e non ricordo quante righe.
    allora nella prima riga metto l'iniziale del nome come nell'esempio del codice che vi posto
    I e sotto andranno tutti i nomi che iniziano per i
    questo però come l'ho fatto io credo non sia molto efficiente in quanto faccio tante query quante sono le iniziali e credo che la pagina si appesantiasca parecchio, qualcuno sa darmi un consiglio?
    avevo pensato all' order group ma poi come intesto la riga? cioè come faccio a comporre una cosa del genere?

    I
    India
    indiano
    ....
    vi posto il codiche che funziona...

    codice:
    <td height="15" align="center"><span class="Stile1">i</span></td>
          </tr>
          <tr>
    	<%  Set conn = Server.CreateObject("ADODB.Connection")
    			conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/man.mdb")
    
    	Sql = "Select nome From info where nome LIKE 'i%';"
    	Set Rs = Conn.Execute(Sql)
    	%>
            <td height="15"><%Do While not (rs.eof)
        	response.write(rs("nome"))%>
    
              <%rs.movenext
    	Loop
    	Conn.Close()
    	Set Conn = Nothing%></td>

  2. #2
    memorizzati da qualche parte l'iniziale, e quando cambia la stampi. ovviamente fai UNA select soltanto.

    that easy!

  3. #3
    uhm, credo di non aver capito, se puoi mi fai un esempio pratico o almeno a grandi linee?

  4. #4
    ' creo la connessione
    ' creo il recordset

    rs.open bla.bla.bla

    sIniziale=""
    do while not rs.eof

    ' l'iniziale è cambiata? (cioè --> LEFT(campo,1)<>sIniziale
    ' si, la stampo (la nuova, cioè left(campo,1)
    ' no ---> non mi interessa

    ' stampo il record
    ' memorizzo l'iniziale, cioè sIniziale = LEFT(campo,1)

    rs.movenext
    loop





    il resto è codice - sei capace da sola

  5. #5
    sei sempre gentilissimo.

    provo a completare il codice.

    Grazie

  6. #6
    Originariamente inviato da francysonoio
    sei sempre gentilissimo.
    segno che mi devi un'altra birra

  7. #7

    ciaoo

  8. #8
    Allora sperando che possa servire a qualcuno posto il codice che ho sviluppato, funziona..


    codice:
    dim sIniziale
    sIniziale = "z"
       do while not (rs.eof)
    	nome = rs("nome") 
    	ini = LEFT(nome,1)
                    if ini<>sIniziale then	
    	       inizio = left(nome,1)
    	       %><h3 style="color:#FF0000"><%response.write(inizio)%>
    <%
    	       sIniziale = LEFT(rs("nome"),1)
    	    else
        	       %><h5 style="color:#000000"><%response.Write(rs("nome"))%>
    <%
    
    	   end if
    rs.movenext
    loop
    Set rs = Nothing
    conn.Close 
    Set conn = Nothing
    %>

    Una domanda ma se volessi disporlo su tre colonne come faccio?
    qualche suggerimento?
    Grazie

  9. #9
    Una domanda ma se volessi disporlo su tre colonne come faccio?
    qualche suggerimento?
    Grazie
    dovrei spezzare l'rs in 3 parti
    a-i, j-r, s-z quindi con if riesco a fare il controllo,
    logicamente ho capito più o meno ma non riesco a disporli su tre colonne...
    Qualche consiglio su come creare la tabulazione?

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