Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Votazione Pagina

  1. #1

    Votazione Pagina

    Ciao amici,

    nel sito ( non quello dell' azienda) che sto ultimando, inseriro delle pagine votabili dagli utenti registrati, facendo si che l utente possa votare soltanto una volta l' elemento..

    quindi mi sorgono queste domande

    come faccio a tenere conto di che utenti hanno gia votato la singola pagina?

    che metodo di votazione ( esempio stelline) mi consigliate, ma gari sugerendomi uno script....

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    111
    ciao su un sito per un mio amico, devo fare una cosa simile, non si vota le pagine ma le persone ma la sostanza è quella, io uso php e mysql (ancora è una bozza perche ora sto lavorando ad un altro sito sempre per lui), cmq...

    io ho fatto così, una volta che una persona si registra viene creata una tabella dedicata alle votazioni (questo me lo fa lo script automaticamente) contenente questi valori:

    id , voto, email
    praticamente faccio una query al db per sapere quanti voti ha preso e calcolo la media in più controllo chi ha già votato o meno tramite email (che è username) di chi è registrato...

    per quanto riguarda le "stelline" io ho usato le tabelle ed a seconda della media me le colora tipo il grafico a barre ma in orizzontale... ovviamente ho usato una serie di if per far ciò...

    ciao spero di averti indirizzato nel verso giusto...

  3. #3
    Credo che se vuoi limitare le votazioni per utenti non registrati devi fare controlli sugli IP o magari lasciando un cookie a lunga scadenza che, comunque, può essere eliminato manualmente.

  4. #4
    Originariamente inviato da gatto76
    ciao su un sito per un mio amico, devo fare una cosa simile, non si vota le pagine ma le persone ma la sostanza è quella, io uso php e mysql (ancora è una bozza perche ora sto lavorando ad un altro sito sempre per lui), cmq...

    io ho fatto così, una volta che una persona si registra viene creata una tabella dedicata alle votazioni (questo me lo fa lo script automaticamente) contenente questi valori:

    id , voto, email
    praticamente faccio una query al db per sapere quanti voti ha preso e calcolo la media in più controllo chi ha già votato o meno tramite email (che è username) di chi è registrato...

    per quanto riguarda le "stelline" io ho usato le tabelle ed a seconda della media me le colora tipo il grafico a barre ma in orizzontale... ovviamente ho usato una serie di if per far ciò...

    ciao spero di averti indirizzato nel verso giusto...
    grazie, un buon metododo, ma io vorrei usare una strategia usata anche dai grossi siti... ( magari è anche questa) ... ne avete certezza?
    per quanto riguarda le stelline,, avresti qualcosa da farmi vedere?

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    111
    ciao non ne sono certo ma penso cmq usano qualcosa di simile per non farti votare 2 volte la stessa pagina/persona...

    per quanto riguarda "le stelline" ti posto il listato che mi ero creato...

    questo riguarda la creazione della barra seconda della media ottenuta...
    Codice PHP:
    <?php
    if (($mediapp >= 1) AND ($mediap <= 10)){
    echo
    "
    <table width='100%' border='0' cellspacing='0' cellpadding='0'>
      <tr>
       <td bgcolor='#00FF00' width='10%'></td>
        <td width='10%'></td>
        <td width='10%'></td>
        <td width='10%'></td>
        <td width='10%' align='right'>Media:</td>
        <td width='10%' align='left'>
    $mediap</td>
        <td width='10%'></td>
        <td width='10%'></td>
        <td width='10%'></td>
        <td width='10%'></td>
         </tr>
    </table>"
    ;
    }elseif ((
    $mediap >= 10) AND ($mediap <= 20)){
    echo
    "
    <table width='100%' border='0' cellspacing='0' cellpadding='0'>
      <tr>
       <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%'></td>
        <td width='10%'></td>
        <td width='10%'></td>
        <td width='10%' align='right'>Media:</td>
        <td width='10%' align='left'>
    $mediap</td>
        <td width='10%'></td>
        <td width='10%'></td>
        <td width='10%'></td>
        <td width='10%'></td>
      </tr>
    </table>"
    ;
    }elseif ((
    $mediap >= 20) AND ($mediap <= 30)){
    echo
    "
    <table width='100%' border='0' cellspacing='0' cellpadding='0'>
      <tr>
       <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%'></td>
        <td  bgcolor='#00FF00' width='10%'></td>
        <td width='10%'></td>
        <td width='10%' align='right'>Media:</td>
        <td width='10%' align='left'>
    $mediap</td>
        <td width='10%'></td>
        <td width='10%'></td>
        <td width='10%'></td>
        <td width='10%'></td>
      </tr>
    </table>"
    ;
    }elseif ((
    $mediap >= 30) AND ($mediap <= 40)){
    echo
    "
    <table width='100%' border='0' cellspacing='0' cellpadding='0'>
      <tr>
       <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%'></td>
        <td width='10%' align='right'>Media:</td>
        <td width='10%' align='left'>
    $mediap</td>
        <td width='10%'></td>
        <td width='10%'></td>
        <td width='10%'></td>
        <td width='10%'></td>
      </tr>
    </table>"
    ;
    }elseif ((
    $mediap >= 40) AND ($mediap <= 50)){
    echo
    "
    <table width='100%' border='0' cellspacing='0' cellpadding='0'>
      <tr>
       <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%' align='right'>Media:</td>
        <td width='10%' align='left'>
    $mediap</td>
        <td width='10%'></td>
        <td width='10%'></td>
        <td width='10%'></td>
        <td width='10%'></td>
      </tr>
    </table>"
    ;
    }elseif ((
    $mediap >= 50) AND ($mediap <= 60)){
    echo
    "
    <table width='100%' border='0' cellspacing='0' cellpadding='0'>
      <tr>
       <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00'width='10%' align='right'>Media:</td>
        <td bgcolor='#00FF00' width='10%' align='left'>
    $mediap</td>
        <td width='10%'></td>
        <td width='10%'></td>
        <td width='10%'></td>
        <td width='10%'></td>
      </tr>
    </table>"
    ;
    }elseif ((
    $mediap >= 60) AND ($mediap <= 70)){
    echo
    "
    <table width='100%' border='0' cellspacing='0' cellpadding='0'>
      <tr>
       <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%' align='right'>Media:</td>
        <td bgcolor='#00FF00' width='10%' align='left'>
    $mediap</td>
        <td bgcolor='#00FF00' width='10%'></td>
        <td width='10%'></td>
        <td width='10%'></td>
        <td width='10%'></td>
      </tr>
    </table>"
    ;
    }elseif ((
    $mediap >= 70) AND ($mediap <= 80)){
    echo
    "
    <table width='100%' border='0' cellspacing='0' cellpadding='0'>
      <tr>
       <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%' align='right'>Media:</td>
        <td bgcolor='#00FF00' width='10%' align='left'>
    $mediap</td>
        <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%'></td>
        <td width='10%'></td>
        <td width='10%'></td>
      </tr>
    </table>"
    ;
    }elseif ((
    $mediap >= 80) AND ($mediap <= 90)){
    echo
    "
    <table width='100%' border='0' cellspacing='0' cellpadding='0'>
      <tr>
        <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%' align='right'>Media:</td>
        <td bgcolor='#00FF00' width='10%' align='left'>
    $mediap</td>
        <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%'></td>
        <td width='10%'></td>
      </tr>
    </table>"
    ;
    }elseif ((
    $mediap >= 90) AND ($mediap <= 100)){
    echo
    "
    <table width='100%' border='0' cellspacing='0' cellpadding='0'>
      <tr>
        <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%' align='right'>Media:</td>
        <td bgcolor='#00FF00' width='10%' align='left'>
    $mediap</td>
        <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%'></td>
        <td bgcolor='#00FF00' width='10%'></td>
      </tr>
    </table>"
    ;
    }
    ?>
    Questo invece è lo script che ho fatto per calcolare la media e i numero di votanti, non ho usato la funzione media diretta di mysql perchè al mio amico non piaceva il risultato (4 numeri dopo la virgola, ne voleva al max solo 2)

    Codice PHP:
    include "config.php";    
    include 
    "connessione.php";
    $votopmedia $nome.$cognome.$pin."votoprivati"
    // conteggio utenti...
       
    $risultato "SELECT * FROM " $votopmedia ."";
    $dbrisultato mysql_query($risultato$db);
    $quanti_utenti_privati mysql_affected_rows($db);
     
    echo 
    "<tr><td align='center'>hanno votato ".$quanti_utenti_privati." utenti<td><tr>";

    // Faccio la somma e la divido per gli utenti trovando la media...

     
    $votop "SELECT SUM(voto_privati) as somma FROM {$votopmedia}"
     
    $result mysql_query($votop) or die("somma non possibile".mysql_error()); 
    list(
    $somma_privati) = mysql_fetch_array($result);
    $mediap = ($somma_privati $quanti_utenti_privati);
    //includo lo script per le tabelle
    echo "<tr><td>";
    include 
    "tabellemediaprivata.php"
    Spero che posso andare anche per te, puoi modificarlo come più ti piace se vuoi... ma la sostanza è questa.. ciao alla prox!

  6. #6
    S ei stato gentilissimo, ma ho notato che i grossi siti hanno ormai tutti abbandonato la votazione .... optando per il NON MI PIACE, MI PIACE, e credo sia la cosa piu giusta, visto che ognuno ha un ' unita di misura propia..

    ma cmq usero il tuo consiglio della tabella VOTI thankkk, mi facilita anche perche usero una variabile get ad una pagina che assegna la preferenza,, se era con il voto avrei fatto meglio ad usare ajax,, cosa che odio, perche nn uso mai e ho poca dimestichezza

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    111
    ciao si pure io tra javascript e ajax nonostante dei manuali non lo mastico bene... preferisco il php che è simile al c/c++ che una volta lo usavo.. ora non più... per il caso mi piace o no basta che aggiungi alla tabella una variabile es: id mi_piace non_mi_piace email così sai quante persone gli piace e quante non e con email (o con altro) verifichi che ha già votato.

    Al mio amico gli piacevano i voti altrimenti avrei fatto anch'io così

    ciao ciao

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.