Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    45

    Confrontare due Array numeriche ed estrapolare i numeri non utilizzati

    Buon pomeriggio, avrei la necessità di confrontare due Array contenenti numeri, ed estrapolare i numeri non utilizzati, ovvero:

    - prima Array contenente numeri da 1 a 1000 (o 2000 è indifferente [numeri provenienti da un ciclo])

    - seconda Array contenente numeri provenienti da una colonna della tabella del DB.

    In sostanza ho una tabella anagrafica dove ad ogni utente assegno un numero di Pass ed una volta revocato, lo stesso numero deve essere nuovamente riassegnato (selezionabile da un menu a tendina).

    Avevo pensato di utilizzare una replace ma non restituirebbe il risultato aspettato.

    Anticipatamente grazie in ogni caso.
    *Tempista*

  2. #2
    io scaricherei le liste in due tabelle disconnesse e estrarrei le differenze con una full outer join
    ARTRIPE

  3. #3
    oppure, quando revochi un pass, segnalo come disponibile e da lì poi lo riestrai (fai tutto a db)
    ARTRIPE

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    45
    Buongiorno Optime, ti ringrazio per la gentile risposta.
    Avevo pensato ad una soluzione del genere che in effetti sarebbe anche semplice, preferirei però gestire tutto da codice, perché gli smanettoni improvvisati potrebbero (lo fanno spesso), mettere le mani sul Db/Tabelle e fare danni (l'App gira nelle intranet di varie Sedi). Inoltre ho necessità di gestire tramite variabile il numero max di Pass e per questo avevo pensato allo scenario sopra indicato.
    Considera che le varie App sono in produzione e devo anche recuperare/mantenere gli ID/PASS attuali (che adesso sono di tipo contatore).

    In rete avevo trovato questo esempio ma in realtà non restituisce correttamente il giusto risultato perché il Replace sostituisce/toglie anche una sola parte di un numero:

    codice:
    <%
    'Numeri disponibili
    stringa_maggiore = "3,7,24,689,230,"
    
    'Numeri utilizzati
    stringa_minore    = "1,2,4,5,6,10,"
    
    
    array1 = split(stringa_minore,",")
    stringa_maggiore = stringa_maggiore
    for i = 0 to ubound(array1)-1
    stringa_maggiore=replace(stringa_maggiore, array1(i)&",","")
    next
    
    
    Response.Write stringa_maggiore
    %>
    Se ti viene in mente qualcosa...
    Anticipatamente grazie in ogni caso e senza impegno.
    *Tempista*

  5. #5
    i numeri dei pass sono in sequenza numerica stretta? proprio 1,2,3,4, ecc?

    se si, leggi i dati con un ciclo for...next e quando il valore dell'elemento è diverso dall'indice.. ci siamo capiti
    ARTRIPE

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    45
    Si, i numeri dei Pass sono in sequenza 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,....

    Con il "ciclo for...next" recuperò il primo numero disponibile (che è cosa buona e giusta), ma mi hanno chiesto di avere un menu a tendina così da poter scegliere fra tutti i numeri disponibili.
    *Tempista*

  7. #7
    allora fai da db. creati una tabella di appoggio con tutti i numeri possibili (diciamo da 1 a 2000 o quello che sai tu). poi con una OUTER JOIN ricavi quelli che sono nella tabella di appoggio ma non nella tabella delle prenotazioni
    ARTRIPE

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    45
    ...alla fine "Rasoio di Occam": farò così!
    Grazie ancora per il supporto e la disponibilità.
    Una buona giornata a te
    *Tempista*

  9. #9
    Optime
    ARTRIPE

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