Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    21

    [PHP+MySQL]Controllo IP doppi da una tabella di dati

    Salve a tutti, spero che qualcuno riesca a darmi una mano o almeno una dritta su come fare.

    Ho una tabella in MySQL che ha 4 colonne:
    • id
    • username
    • date
    • ip


    Sto cercando di creare una funzione in PHP che legga i dati dalla tabella e mi visualizzi solo quegli utenti che nella stessa giornata hanno usato più di un certo numero di IP diversi (diciamo ad esempio 3 o più IP).

    Quindi se un utente nella stessa giornata logga con 3 o più IP diversi mi deve venire visualizzato nei risultati, in modo da riuscire a vedere se percaso alcuni utenti prestano il loro account ad altre persone.


    Il problema è che nel primo modo in cui avevo fatto la funzione (dato che uso il PHP+MySQL da poco) utilizzava una spropositata quantità di query; qualcuno mi sa dare una soluzione ottimizzata o comunque una indicazione su come orientarmi?

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591
    forse così potrebbe funzionare, non è porvata ...
    select distinct num, a.username,tabella.id,tabella.ip
    from tabella ,(SELECT count(*) num,username
    FROM (select distinct ip,username from tabella where data=????) group by username) a
    where tabella.username=a.username
    and a.num>3
    and data=????

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    21
    SELECT DISTINCT num, a.username,tabella.id,tabella.ip
    from tabella ,(SELECT count(*) num,username
    FROM (select distinct ip,username from tabella where data=????) group by username) a
    where tabella.username=a.username
    and a.num>3
    and data=????
    Uhm... non riesco a capirmi o_O

    a.username che cosa sarebbe?!?

    e su data=??? che dovrebbe andarci?

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591
    a.username che cosa sarebbe?!?
    l'user name che si è collegato
    e su data=??? che dovrebbe andarci?
    il giorno da testare

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    21
    l'user name che si è collegato
    Si questo si, ma perchè ha la "a" davanti invece di "tabella"?


    il giorno da testare
    Sry XD
    Stavo pensando ai nomi delle mie colonne e non ho fatto caso che tu l'avevi scritto in italiano

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591
    perche non è l'username della tabella ma della subquery messa in join

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    21
    Originariamente inviato da stabi
    perche non è l'username della tabella ma della subquery messa in join
    Vero sry

    Sto proprio dormendo in piedi

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    21
    Ricevo questo errore ma non riesco a capire dove manca l'alias...

    Messaggio di MySQL: Documentazione
    #1248 - Every derived table must have its own alias

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591
    nella query piu interna

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    21
    Infatti avevo provato questa query:

    codice:
    select distinct num, a.username,tabella.id,tabella.ip
    from tabella ,(SELECT count(*) num,username
    FROM (select distinct ip,username from tabella a where data=1) group by username) a
    where tabella.username=a.username
    and a.num>3
    and data=1
    Ma ricevo cmq lo stesso errore.

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.