Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    Creare script classifica votazione utenti

    Salve a voi,
    mi sto scervellando su come poter fare per mostrare nella index del sito gli utenti piu' votati...
    Parto con la situazione script tabelle...
    Per i voti ho una tabella chiamata "voti" con 4 campi
    "id" di tipo INT auto_increment con chiave primaria
    "nick_votoinviante" in cui mi salvo il nickname di chi invia il voto
    "nick_votoricevente"in cui mi salvo il nickname di chi riceve il voto
    "votoricevuto"in cui mi salvo il valore del voto ricevuto

    Ho creato poi un abbozza di pagina prova per poter quantomeno cominciare a vedere qualche risultato anche aimè non proprio soddisfacente...
    Codice PHP:
    <?      
    //Apro la sessione e...      
    session_start();      
     
      
      
     
    //mi connetto al datase    
    $link mysql_connect("$db_host""$db_database""$db_username""$db_password") or die("Errore connessione: "mysql_error());    
    //seleziono il database    
    mysql_select_db('my_italiawebchat') or die("Errore apertura database: " mysql_error());    
    //seleziono i campi da visualizzare per singolo utente
    $strsql="SELECT id,nick_votoricevente,votoricevuto FROM voti  ";  

    $rs=@mysql_query("$strsql",$link) or die("Errore query database: " mysql_error());  
    //faccio un ciclo while    
    while ($riga mysql_fetch_array($rs)) {    

    $str_nickvotoricevente $riga['nick_votoricevente'];  
    $str_votoricevuto $riga['votoricevuto'];




    $voti mysql_numrows($rs);

    echo
    "
    $str_nickvotoricevente - voti- $voti";
      
    }
    //qui chiudi il while    

    ?>
    A video mi stampa il tutto cosi'

    carlitos voti:6
    morgana voti:6
    carlo voti:6
    moragana voti:6
    carlitos voti:6
    morgana voti:6

    Non ho capito se modificare la tabella..forse non va bene per come è impostata per ciò che vglio fare io...forse sto sbagliando tuttoio vorrei che mi visualizzasse per esempio

    carlitos voti:5
    moragana voti:7
    carlo voti:9
    ect..
    quantomeno riuscire a fare ciò per poi proseguire col mostrare magari solo gli utenti che hanno ricevuti piu' di 50 voti....
    Vi chiedo lumi sono ore ed ore che penso su come fare ma nulla..intanto il gallo canta :master:

  2. #2
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    la tabella potrebbe anche andare bene...dipende com'è riempita però...lo script che hai postato serve per recuperare i dati della tabella...ma come li salvi? adesso che valore hanno?

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  3. #3
    Originariamente inviato da oronze
    la tabella potrebbe anche andare bene...dipende com'è riempita però...lo script che hai postato serve per recuperare i dati della tabella...ma come li salvi? adesso che valore hanno?


    Ciao oronze
    fortunatamente ho risolto cosi'

    Codice PHP:
    <?      
    //Apro la sessione e...      
    session_start();      
     
      
      
     
    //mi connetto al datase    
    $link mysql_connect("$db_host""$db_database""$db_username""$db_password") or die("Errore connessione: "mysql_error());    
    //seleziono il database    
    mysql_select_db('my_italiawebchat') or die("Errore apertura database: " mysql_error());    
    //seleziono i campi da visualizzare per singolo utente 
    $strsql="SELECT id,nick_votoricevente,COUNT(votoricevuto) 'somma_voti' FROM voti GROUP BY nick_votoricevente";  

    $rs=@mysql_query("$strsql",$link) or die("Errore query database: " mysql_error());   
    //faccio un ciclo while    
    while ($riga mysql_fetch_array($rs)) {     
    $str_somma_voti $riga['somma_voti'];
    $str_nickvotoricevente $riga['nick_votoricevente'];  
    $str_votoricevuto $riga['votoricevuto']; 

    $colore="FF99FF";


    $voti mysql_numrows($rs);

    echo
    "


    <div id=\"nick\"><font color=\"#"
    .$colore."\" size =\"6\" face=\"Comic Sans MS\">$str_nickvotoricevente</font>voti $str_somma_voti</div>";
       
    }
    //qui chiudi il while    

    ?>
    Grazie lo stesso,alla prossima

  4. #4
    Sto cercando di fare in modo di mostrare solo gli utenti che hanno ricevuto diciamo piu' di 2 voti...ma non riesco a completare la query

    Codice PHP:
    //seleziono solo utenti che hanno ricevuto piu' di 2 voti
    $strsql="SELECT id,nick_votoricevente,COUNT(votoricevuto) 'somma_voti' WHERE votoricevuto > 2 FROM voti GROUP BY nick_votoricevente"
    Purtroppo mi da questo errore

    Errore query database: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE votoricevuto > 2 FROM voti GROUP BY nick_votoricevente' at

  5. #5
    Originariamente inviato da carlitosteam
    Sto cercando di fare in modo di mostrare solo gli utenti che hanno ricevuto diciamo piu' di 2 voti...ma non riesco a completare la query

    Codice PHP:
    //seleziono solo utenti che hanno ricevuto piu' di 2 voti
    $strsql="SELECT id,nick_votoricevente,COUNT(votoricevuto) 'somma_voti' WHERE votoricevuto > 2 FROM voti GROUP BY nick_votoricevente"
    Purtroppo mi da questo errore

    Errore query database: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE votoricevuto > 2 FROM voti GROUP BY nick_votoricevente' at

    Ho risolto cosi'
    Codice PHP:
    $strsql="SELECT id,nick_votoricevente,COUNT(votoricevuto) 'somma_voti'FROM voti WHERE votoricevuto >='2'  GROUP BY nick_votoricevente"

  6. #6
    Forse sarebbe meglio:

    Codice PHP:
    $strsql "SELECT id, nick_votoricevente, COUNT(votoricevuto) AS somma_voti
               FROM voti 
               WHERE somma_voti >= 2
               GROUP BY nick_votoricevente"

    la tua clausola WHERE cerca chi ha ricevuto un voto maggiore o uguale a 2, non chi ha ricevuto 2 o piu' voti.

  7. #7
    Ciao,
    ho fatto come dici te ma mi da questo errore

    Errore query database: Unknown column 'somma_voti' in 'where clause'

  8. #8
    ora ho fatto cosi'..

    Codice PHP:

    $strsql 
    "SELECT id, nick_votoricevente, COUNT(votoricevuto) AS votoricevuto
               FROM voti
               WHERE votoricevuto >= 2
               GROUP BY nick_votoricevente"

    purtroppo però mi visualizza nche chi ha 1 voto...

  9. #9
    Scusami, la query che ti ho scritto era piuttosto senza senso, prova con questa:

    Codice PHP:
    $strsql "SELECT * FROM 
               (SELECT id, nick_votoricevente, COUNT(votoricevuto) AS somma_voti
                FROM voti
                GROUP BY nick_votoricevente) AS temp
               WHERE somma_voti >= 2"


  10. #10
    Grazie..!!
    Ora funziona perfettamente....mille grazie.!!
    sei un grande

    Mi spiegheresti per piacere la funzionalità di temp nella query??
    Siccome mi piace sempre capire ciò che vedo di nuovo se puoi spiegarmelo mi fai un altro grosso piacere

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.