Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,614

    Eliminare duplicati dallo split

    Ciao
    non so come evitare la duplicazione dei risultati dallo split, premetto che lo script funziona correttamente ma cosi si elencano anche i i duplicati, come posso evitarlo?
    codice:
    <%
    loca = request.querystring("loc")
    
    sql = "SELECT DISTINCT localita FROM offerte WHERE tipo = '" & request.querystring("mod") & "' GROUP BY localita"
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, Conn, 3
    
    if rs.eof then
    else
    %>
    <td >
    <select size="1" name="loc" onchange='this.form.submit()'>
    
    <%
    rs.MoveFirst 
    Do While Not rs.EOF
    
    controllo = rs.fields("localita")
    
    arryControllo = Split(Controllo, ", ") 
    
    For i=0 to UBound(arryControllo)
    
    stringa = Trim(arryControllo(i))
    
    %>
    
    <option value="<%=stringa%>"<%if loca = "" & stringa & "" then%>selected="selected"<%end if%> ><%=stringa%></option>
    <%
    Next
    
    rs.MoveNext
    Loop
    rs.Close
    set rs = Nothing
    end if
    %>
    Grazie

  2. #2
    strano che ci siano duplicati visto che fai una DISTINCT... ma perché SPLITti la località?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,614
    perchè in località ci sono vari dati tipo: MILANO, ROMA, TREVISO
    che ho necessità di splittare

  4. #4
    capito. in ASP classico non ci sono metodi pronti, devi fare tu la deduplica... nel forum ne abbiamo parlato diverse volte, fa' una ricerca

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,614
    ho già cercato sul forum e provato alcuni senza però giungere al mio fine.

  6. #6
    http://stackoverflow.com/questions/6...ay-classic-asp

    la prima che viene fuori cercando su google, di sicuro ce ne sono altre

  7. #7
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    fatti una funzione per splittare tenendo solo valori unici
    tipo questa
    codice:
    Function SplittaDistinct(str,sep)
    	dim strx, sepx, arr, i, dic
    	set dic=Server.CreateObject("Scripting.Dictionary")
    	arr = Split(str,sep)
    	strx=""
    	sepx=""
    	for i=LBound(arr) to UBound(arr)
    		if not dic.Exists(arr(i)) then
    			strx=strx & sepx & arr(i)
    			dic.Add arr(i),true
    			sepx=sep
    		end if
    	next
    	SplittaDistinct = Split(strx,sep)
    End Function
    da usare al posto dello split

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,614
    Grazie willybit, ma non riesco ad implementarla al mio script!

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.