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

Discussione: Ordinamento dati

  1. #1
    Utente di HTML.it L'avatar di french
    Registrato dal
    Jun 2001
    Messaggi
    117

    Ordinamento dati

    Ciao a tutti. Ho un problema di ordinamento dati estratti da un database. La struttura del db, purtroppo non dipende da me, per cui devo cercare di risolvere il problema con i dati che ho, senza modificarli. Mi spiego:
    estraggo per ordine alfabetico un campo chiamato 'zona' in cui sono memorizzati i nomi di nazioni. La bellezza della cosa sta nel fatto, che per l'Italia, in tale campo sono memorizzati i nomi delle regioni italiane, tra l'altro senza nessun prefisso. Mi trovo perciò un elenco del genere:

    - Austria
    - Abruzzo
    - Basilicata
    - Belgio
    - Bielorussia
    - Calabria
    ...

    Dovrei praticamente stampare prima della regione il prefisso Italia (questo l'ho già fatto, è il minimo...) e mettere le regioni italiane sotto la 'I' tutte insieme.
    Esempio di quello che devo ottenere:

    AUSTRIA
    BELGIO
    BIELORUSSIA
    BULGARIA
    CROAZIA
    FINLANDIA
    FRANCIA
    GERMANIA
    GRECIA
    IRLANDA
    ITALIA - Abruzzo
    ITALIA - Basilicata
    ITALIA - Calabria
    ITALIA - Campania
    ITALIA - Emilia Romagna
    ITALIA - Lombardia
    ...
    LETTONIA
    LITUANIA
    POLONIA
    ....

    Qualche soluzione?
    French

  2. #2
    Un bel casino.
    Come fai a discriminare quale è regione d'Italia e quale no?
    Ti servirebbe un array e fare un ciclo dentro l'array per verificare se il dato letto in quel momento è presente nell'array e se lo è fare scrivere davanti la parola ITALIA.
    codice:
    arrayRegioni = array("Valle D'Aosta", "Lombardia", "Piemonte", "eccetera")
    
    ' durante il ciclo di lettura della tabella del database
    
    do until rs.eof
    valore = rs("campoTabella")
    
      for x = 0 to uBound(arrayRegioni)
        if lCase(valore) = lCase(arrayRegioni(x)) then
        response.write "ITALIA - " & valore
        exit for
        end if
      next
    
      if x = uBound(arrayRegioni) then
      response.write valore
      end if
    
    rs.moveNext
    loop

  3. #3
    Utente di HTML.it L'avatar di Corwin
    Registrato dal
    Jan 2002
    Messaggi
    584
    Non hai un'altro campo con un'indicazione della nazione ?
    I don't wanna have to shout it out / I don't want my hair to fall out
    I don't wanna be filled with doubt / I don't wanna be a good boy scout
    I don't wanna have to learn to count / I don't wanna have the biggest amount
    I don't wanna grow up

  4. #4
    Utente di HTML.it L'avatar di albis
    Registrato dal
    May 2002
    Messaggi
    912
    c'è un campo discriminante ?
    nel senso che fà capire se è una regione italiana ?
    Forza la magica ROMA

  5. #5
    Utente di HTML.it L'avatar di french
    Registrato dal
    Jun 2001
    Messaggi
    117
    Come vi dicevo, avevo fatto già in modo che davanti alle regioni italiane venisse stampato il prefisso Italia, avendo come base per l'interrogazione al database un campo numerico che indica la zona.
    Per esempio:
    0-300 Europa (fino a 100 è Italia)
    French

  6. #6
    mah... :master:

  7. #7
    allora qual'è il problema?
    Purtroppo bisogna imparare che il computer non sbaglia...fa solo quello che gli dici di fare

    www.netpolaris.it

  8. #8
    sql = "select * from nome_tabella order by nome_campo desc"

  9. #9
    Utente di HTML.it L'avatar di french
    Registrato dal
    Jun 2001
    Messaggi
    117
    (x Shagrat)Il problema è l'ordinamento.
    Così mi genero i miei dati (il campo in questione è desczona, non zona come avevo detto prima - il campo zona mi restituisce il valore numerico riferito alla zona):

    If Request("cont") <> "" Then Session("continente") = Request("cont")

    Select case Session("continente")
    Case "europa"
    Session("range") = " < '300'"
    Case "asia"
    Session("range") = " >= '300' And zona < '400'"
    Case "africa"
    Session("range") = " >= '400' And zona < '500'"
    Case "nord_america"
    Session("range") = " >= '500' And zona < '600'"
    Case "centro_america"
    Session("range") = " >= '600' And zona < '700'"
    Case "sud_america"
    Session("range") = " >= '700' And zona < '800'"
    Case "oceania"
    Session("range") = " >= '800' And zona < '900'"
    End select

    La query:

    "select distinct desczona, zona from referenze where zona " & Session("range") & " order by desczona asc"
    French

  10. #10
    Utente di HTML.it L'avatar di albis
    Registrato dal
    May 2002
    Messaggi
    912
    che database usi ?
    Forza la magica ROMA

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.