Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118

    Problema su select di range Ip

    Ragazzi, ho un problemino(!) concettuale su come potere arrivare ad un risultato. Vi spiego:

    ho una tabella dove immetto gli Ip dei visitatori, prendiamone uno
    80.105.26.32
    voglio sapere da quale stato chiama e quindi setto una variabilina e faccio il calcolo
    80*256*256*256+105*256*256+26*256+32
    ed ottengo
    1349065248

    dopo ho la tabella dei range ip di tutto il mondo che è fatta così
    ipfrom ipto nation
    33996344 33996351 UNITED KINGDOM
    1348993024 1349124095 ITALY
    etc.

    In questo caso il nostro Ip viene dall'Italia.

    Domanda: come faccio a dire in codice, trovami in quale range si trova quel dato ip?

    Cioè, deve essere maggiore di ipfor e minore di ipto..........

    Però, se faccio (sql in access):

    codice:
    SELECT ipfour.ipfrom, ipfour.ipto, ipfour.nation
    FROM ipfour
    WHERE (((ipfour.ipfrom)<="1372594132 ") AND ((ipfour.ipto)>="1372594132 "));
    mi riporta sia
    121195328 152305663 United States
    sia
    1372585984 1372610047 Italy

    perchè? Che sql adottereste in asp?

  2. #2
    la tabella di riferimento è una tabella di un db?

  3. #3
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    P.S. I campi sono in testo e non mi da la possibilità di modificarli in numerico.......(mi dice perdita nella conversione dei dati).

  4. #4
    perché tenti di traformali in un numero di piccolo formato. usa la precisione doppia

  5. #5
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Si, sono riuscito a trasformare i campi in numerico (precisione doppia al posto di intero lungo).
    Adesso in asp dovrei potere fare una semplice query e fare un loop........non credi?

  6. #6
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Ci rincorriamo......

    Il problema adesso consiste nel fare in automatico il famoso calcolo
    80*256*256*256+105*256*256+26*256+32

    dal momento che l'ip è un testo.....
    80.105.26.32
    103.25.0.6
    etc.

    Come posso fare a scompattare le quattro quartine?

  7. #7

  8. #8
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    In asp......giusto........in access hai qualche idea?

    Grazie mille, come sempre.

  9. #9
    in access? cioè? in vba/access?

  10. #10
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Op, mi sono messo a scriverlo in asp. Ho qualche problema se splitto

    codice:
    ..........................
    Squ1="SELECT * FROM REGISTRO3;" 
    set rs=server.createobject("adodb.recordset") 
    rs.open Squ1,Conn 
    do while not Rs.eof 
    AAA=RS("dove")
        Dim i, aaa
        i = 0
        s = Split(aaa, ".")
        For i = 0 To UBound(s)
            Response.Write s(i) & "
    "
        Next
    Rs.movenext 
    loop
    rs.close 
    Set rs=Nothing
    conn.close
    set conn=Nothing
    %>
    Mi da la serie di numeri splittati, quindi dividendo le quartine. Ora però io dovrei fare il calcolo dell'ip prendendo quattro quartine a volta. Cosa consigli?

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.