Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    problema spazio (%20) in database

    Salve a tutti,
    ho uno script che mette in un db l'indirizzo della pagina ogni volta che viene visitata.
    Il db access ha questi campi: Url,visite,data

    l'indirizzo è qualcosa di questo tipo:
    http://www.miosito.est/pagina1.asp?rif=i ricordi

    Per andare a prelevare il numero di volte in cui è stata visitata la pagina, faccio:
    set visite = connVisite.Execute("Select SUM(Hits) as totale from TabellaPagineVisitate where Url LIKE '%indirizzo%' ")

    Il problema che nel mio db, i valori a volte vengono memorizzati come:
    http://www.miosito.est/pagina1.asp?rif=i ricordi
    e a volte come
    http://www.miosito.est/pagina1.asp?rif=i%20ricordi

    quindi anche facendo un replace, non mi selezionerebbe tutti i records.

    Come potrei fare?

  2. #2
    fai una replace del campo!

    WHERE REPLACE(URL, "%20", " ") LIKE ...

    funge, ma rallenta...

  3. #3
    Grazie Optime per la tua risposta,
    Io sto seguendo un'altra strada, ma vorrei sapere da te qual'è la migliore:

    settando due variabili:
    indirizzo = http:...
    indirizzo2 = replace(indirizzo," ","%20")

    query:
    set visite = connVisite.Execute("Select SUM(Hits) as totale from TabellaPagineVisitate where Url LIKE '%indirizzo%' OR url LIKE '%indirizzo2%'")

    Sarebbe l'opposta della tua soluzione: con questa alternativa, agisci sulla variabile del server, mentre con la tua alternativa agisci sul campo della tabella.

    Che mi consigli???

    ciao.

  4. #4
    te ne consiglio una terza: fa' la REPLACE all'atto della registrazione nel DB, così dopo usi solo l'interrogazione con lo spazio

  5. #5
    Il problema è che uso uno script creato da terzi, e per inserire l'url nel db viene usato un richiamo ad uno script javascript, pur essendo open source, non mi converrebbe in qualità di tempo andare a modificare dove viene fatta l'inserzione.

  6. #6
    puoi sempre fare una UPDATE massiva ogni tanto: la prima sarà un po' pesante, ma le successive andranno via velocemente - vedi tu. comunque, la tua OR è senz'altro più performante della mia

  7. #7
    beh, la soluzione dell'update non è nemmeno male, proverò, ti ringrazio.

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.