Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: raggruppamento

  1. #1

    raggruppamento

    Ho un piccolo problemino con un raggruppamento dati in asp
    Quello che vorrei ottenere dalla pagina è la classica impostazione:
    CategoriaA
    -Articolo1
    -Articolo2
    CategoriaX
    -Articoloy
    -Articolo ...

    ho letto diversi messaggi ma sinceramente non so più dove sbattere la testa!
    Posto qui il codice che ho scritto:
    codice:
    %@LANGUAGE="VBSCRIPT"%> 
    
    <% 
    Option Explicit 
    %> 
    
    <html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" 
    /> 
    <title>Cariche</title> 
    </head> 
    <body> 
    <% 
    
        Dim sc, cn, objRs, strsql 
    
        sc = "" 
        sc = sc & "driver={Microsoft Access Driver (*.mdb)};dbq=" 
        sc = sc & Server.MapPath("mdb-database/db_sito.mdb") 
    
        Set cn = Server.CreateObject("ADODB.Connection") 
        Set objRs = Server.CreateObject("ADODB.Recordset") 
         strsql = "Select * FROM q_Societa " 
         cn.Open sc 
         set objRs = cn.Execute(strsql) 
          
         
       %> 
        
    <h1>Commissione A</h1> 
    <% 
    carica="" 
    
    Do while Not objRs.EOF 
    
    IF Carica<>objRs("CaricaSocieta") THEN 
         Carica=objRs("CaricaSocieta") 
         response.write objRs("CaricaSocieta") 
    END IF 
    
    %> 
    <ul> [*]<%= objRs("risultato") %> [/list]
    <% 
    objRs.MoveNext 
    Loop 
    objRs.Close 
    Set objRs = Nothing 
    
    Cn.Close 
    Set Cn = Nothing 
    
    
    %> 
    </body> 
    </html>
    e la pagina risponde con
    codice:
    Microsoft VBScript runtime error '800a01f4' 
    
    Variable is undefined: 'Carica' 
    
    /prova2.asp, line 32
    e la linea 32 è: carica=""

    Non so sinceramente dove sbattere la testa!!! E vi ringrazio in anticipo per tutto l'aiuto che mi darete!

  2. #2
    prova a definire carica
    come fai con sc, cn, objRs, strsql

  3. #3
    Grazie!!!!!
    Grazie!!!!
    Grazie!!!!

    Proprio vero che la stanchezza gioca brutti scherzi.

    Grazie mille!!!

  4. #4
    un'ultima cosa nell'impaginazione ho fatto aprire un elenco

    dove appare il nome della categoria:
    R.W. ("<p class='nomecategoria'> + CATEGORIA + </p><ul class='elencocategoria'>")

    le varie voci della categoria:
    R.W. ("[*] + Item +")

    come faccio a far chiudere l'elenco all'ultimo item prima che apra il nuovo raggruppamento.

    Potrei farli aprire e chiudere ad ogni record solo che dopo l'impaginazione ovviare allineamento sulla stessa linea dell'elenco impostato con il css non funziona.

  5. #5
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Nell'IF dove imposti la varabile d'appoggio devi chiudere l'UL finito (se c'è) e aprire il nuovo.

    Roby

  6. #6
    cioè

    codice:
    <% Dim carica
    carica="" 
    
    Do while Not objRs.EOF 
    
    IF Carica<>objRs("CaricaSocieta") THEN 
         Carica=objRs("CaricaSocieta") 
         response.write ("<p class='nomecategoria'>" + objRs("CaricaSocieta") +"</p><ul class='elencocategoria'>") 
    END IF 
    
    %> 
    response.write ("[*]" + <%= objRs("risultato") %> + "") 
    
    <% else %> response.write ("[/list]") 
     
    <% 
    objRs.MoveNext 
    Loop 
    objRs.Close 
    Set objRs = Nothing 
    
    Cn.Close 
    Set Cn = Nothing 
    
    
    %>
    o bisogna aggiungere un'altra if?

    Grazie per le celere risposta di prima

  7. #7
    c'è un else senza if O.o

  8. #8
    infatti non funziona....

    sono veramente alla prime armi e dove lo posizioni?

  9. #9
    per fare quello che vuoi fare te con una singola query io credo che tu debba

    1. ordinare il tuo database in ordine per caricasocietà
    2. ne primo if
    codice:
    ..
    IF Carica<>objRs("CaricaSocieta") THEN 
    ..
    fargli stampare sia la carica che objRs("risultato")
    3. poi THEN ( carica=objRs("CaricaSocieta") ) devi stampare solo objRs("risultato")
    4. quando cambia la carica chiudi[/list]

    ti preparo il codice e te lo posto

  10. #10
    Più o meno così

    codice:
     
    <% 
    
        Dim carica, sc, cn, objRs, strsql 
        sc = "" 
        sc = sc & "driver={Microsoft Access Driver (*.mdb)};dbq=" 
        sc = sc & Server.MapPath("mdb-database/db_sito.mdb") 
        Set cn = Server.CreateObject("ADODB.Connection") 
        Set objRs = Server.CreateObject("ADODB.Recordset") 
         strsql = "Select * FROM q_Societa ORDER BY CaricaSocieta ASC " 
         cn.Open sc 
         set objRs = cn.Execute(strsql)
    	 %>     
    <h1>Commissione A</h1> 
    <% 
    carica="" 
    Do while Not objRs.EOF 
    IF Carica<>objRs("CaricaSocieta") THEN 
         response.write ("[/list]")
         Carica=objRs("CaricaSocieta") 
         response.write ("<p class='nomecategoria'>" + objRs("CaricaSocieta") +"</p><ul class='elencocategoria'>") 
    	 response.write ("[*]" +objRs("risultato")+ "") 
    ELSE
    	 response.write ("[*]" +objRs("risultato")+ "")
    END IF 
     objRs.MoveNext 
    Loop 
    
    objRs.Close 
    Set objRs = Nothing 
    Cn.Close 
    Set Cn = Nothing 
    
    %>
    nonostante quel bruttissimo[/list]inutile ed errato all'inizio dovrebbe fungere ^_^

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.