Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 17 su 17

Discussione: select e array

  1. #11
    Io resto dell'idea che puoi gestire tutto con una query, senza fare array di array di array...
    Fammi capire meglio il criterio di selezione dei dati...

  2. #12
    ok proviamo ...tanto meglio se gestisco tutto con una query

    Tabella database

    ---------------------------------------------------
    TABELLA CODICI
    ID------codici
    1 50.12.18/40.45/80.48.56
    2 45.48/50.94
    3 50.15
    4 50.12/18.54/49.54.4
    ---------------------------------------------------

    TABELLA CATEGORIE

    ID------codice--------nomecat
    1 50.12.18 BOTTONI
    2 4.48 CAMICE
    3 89.15 GIACCHE


    note per questa tabella:
    ogni categoria ha 1 codice ...ma !!! l'identificativo che definisce la categoria è SEMPRE il primo numero del codice...
    ---------------------------------------------------

    ...Ora..cosa devo fare...

    - seleziono una categoria da 1 form...tipo "bottoni"
    - questa categoria mi restituisce 1 codice (come da esempio 50.12.18) ...leggo i lcodice e mi tiro fuori il 50 <-- DATO CHE MI SERVE AL PASSAGGIO DOPO

    ------e fino a quì faccio tutto---------

    ora...nella tabella CODICI devo estrarre tutti i record che contengono il dato che ho trovato al primo passaggio....

    però questo numero deve essere il primo di 1 codice e non in mezzo al codice...inoltre....in ogni singolo record ho + codici

    ovvero...esempio...

    in mezzo a questi record

    ID------codici
    1 50.12.18/40.45/80.48.56
    2 45.48/50.94
    3 50.15
    4 20.12/18.54/49.54.4

    devo estrarre i record che hanno 1 codice che inizia con 50 per cui estraggo
    il record numero 1, 2 e 3


    dettaglio record 2...

    45.48/50.94

    in questo caso il codice che inizia con 50 non è il primo ma il secondo...

    ogni singolo record è formato da N codici separati tra di loro con una slash /

    spero di essermi spiegato bene ora
    Tanto...lo fanno tutti... posso farlo anche io vero?

  3. #13
    Fai uno split per / e vedi se i primi N caratteri sono uguali al valore da te cercato.

  4. #14
    scusa se sono ripetitivo mems

    [codice]
    <%
    Do while not rs.eof
    if rs("codici") <> "" then
    stringa = rs("codici")
    arr = split(stringa, "/")

    %>
    <tr>
    <td>
    <%=(arr(0))%>
    </td>
    </tr>
    <%
    end if
    rs.movenext
    loop
    %>
    [/codice]
    Così splitto per OGNI ciclo il codice .....solo che ....come faccio a sapere quanti Array mi crea ogni ciclo così da fare 1 controllo per ogni array trovato ad ogni ciclo?
    Tanto...lo fanno tutti... posso farlo anche io vero?

  5. #15
    codice:
    <%=Ubound(arr)%>
    ...ok così ottengo il numero di array per ogni record....non lo sapevo bene con quel dato dovrei riuscire a fare tutto
    Tanto...lo fanno tutti... posso farlo anche io vero?

  6. #16
    Alla fine ho partorito questo...che a logica dovrebbe essere giusto

    codice:
    	for i=0 to Ubound(arr)
    	num = InStr(arr(i),".")
    	codice_trovato = left(arr(i),num-1)
    	if codice_trovato = matrice then
    	response.Write(rs("denominazione"))
    	end if
    	next
    ma....

    Chiamata di routine o argomento non validi: 'Left'
    Tanto...lo fanno tutti... posso farlo anche io vero?

  7. #17
    codice:
    Do while not rs.eof
    if rs("codici") <> "" then
    
    stringa = rs("codici")
    arr = split(stringa, "/")
    
    for i=0 to Ubound(arr)
    num = InStr(arr(i),".")
    if num <> 0 then
    numero_trovato = left(arr(i),num-1)
    if numero_trovato = matrice then
    
    faccio quello che mi serve
    
    end if
    end if
    next
    end if
    rs.movenext
    loop
    forse non ottimizzato...ma fatto
    Tanto...lo fanno tutti... posso farlo anche io vero?

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.