Notes Moyennes

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

26 sept. 2005, 19:16

Ah OUF :langue:
=D> a toi aussi

enfin [résolu] :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 101 Messages

13 nov. 2005, 14:28

Dernier question comment faire pour que chaque visiteur ne puisse voter qu'une fois par jour

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

13 nov. 2005, 14:56

ce qu'il te faut c'est relever la date (timestamp) du vote du visiteur, donc je suppose qu'il n'y a pas d'identification a faire.

Il te faut donc relever l'IP de celui ci et stocker le couple (date, IP) et verifié si l'IP est présente ou pas. Meme si l'IP peut changer je ne vois que ça sans identification.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 101 Messages

13 nov. 2005, 15:03

je creer une nouvelle table ?

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

13 nov. 2005, 15:06

ben oui c'est indépandant du vote en lui meme donc oui nouvelle table

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

ViPHP
fab
ViPHP | 2657 Messages

13 nov. 2005, 15:06

non pas forcément tu peux mettre ça dans un champ de ta table vote
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

Eléphant du PHP | 101 Messages

13 nov. 2005, 15:14

alors je creer une nouvelle table avec un champ date et un champ ip mais de quelle type sont ces 2 champs ?

Eléphant du PHP | 101 Messages

13 nov. 2005, 16:10

????

Mammouth du PHP | 19672 Messages

13 nov. 2005, 17:37

Un champ date ne doit déjà ne pas être nommé "date" qui est un mot réservé en SQL et être soit du type DATE soit du type DATETIME.

Le champ IP comportant des chiffres et des points peut être un VARCHAR(16) voire VARCHAR(24) si tu prévois l'IPV6.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 101 Messages

13 nov. 2005, 18:26

comment je fais apres?

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

13 nov. 2005, 18:31

en gros faut verifier si l'ip du visiteur est deja dans la BD, s'il n'y est pas ça signifi qu'il n'a pas encore voté (du moins sous cette connexion :wink: ) si l'IP est présente il a deja voté.

regarde un peu ce tuto c'est pas vraiment ce que tu veut mais c'est le meme principe

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 101 Messages

13 nov. 2005, 18:42

oui mais pas page note ressemble a ça
<?php /* Date de création: 04/08/2005 */ ?> 
<html> 
<body> 


<form action="note.php" method="post"> 
<select name="nouvelle_note"> 
   <option value=1> 1</option> 
   <option value=2> 2</option> 
   <option value=3> 3</option> 
   <option value=4> 4</option> 
   <option value=5> 5</option> 
   <option value=6> 6</option> 
   <option value=7> 7</option> 
   <option value=8> 8</option> 
   <option value=9> 9</option> 
   <option value=10> 10</option> 
   <option value=11> 11</option> 
   <option value=12> 12</option> 
   <option value=13> 13</option> 
   <option value=14> 14</option> 
   <option value=15> 15</option> 
   <option value=16> 16</option> 
   <option value=17> 17</option> 
   <option value=18> 18</option> 
   <option value=19> 19</option> 
   <option value=20 selected> 20</option> 
</select> 
<input type="hidden" name="id" value="<? echo $_GET['id'] ?>"> 
<input type="submit" value="Valider" /> </form> 
<? 
mysql_connect("sql.free.fr", "mazflo007", "********"); 
mysql_select_db("mazflo007"); 

if (isset($_POST['nouvelle_note'])) 
{ 
    //test (a supprimer apres) pour verifier si la variable GET s'affiche (je pense que tu aura une erreur ici) 
    echo '<br>L\'id est'.$_GET['id'].'<br>'; 


    $id=$_POST['id']; 
    //Ici tu peut mettre a jour les 2 champs a la fois 
    $sql_update="UPDATE jeux SET total_note=total_note+".$_POST['nouvelle_note']." , nb_note=nb_note+1 WHERE id=".$id  ; 
    mysql_query($sql_update);    

    $sql_select="SELECT (total_note/nb_note) as moyenne FROM jeux WHERE id=".$id;    
    $requete = mysql_query($sql_select) or die (mysql_error()); 

    //Pas besoin de boucle étant donné que tu n'aura qu'un seul résultat, avec lma clause WHERE sur l'id 
    $row=mysql_fetch_array($requete); 
    $sql_moy="UPDATE jeux SET moyenne=".$row['moyenne']." WHERE id=".$id; 
    mysql_query($sql_moy);    
}    

?> 

</body> 
</html> 

Alors je met un script sur le bouton OK ???[/

Eléphant du PHP | 101 Messages

13 nov. 2005, 19:43

je met soit un script sur le bouton d'ouverture de la page de note ou soit sur le bouton envoyer

Eléphant du PHP | 101 Messages

13 nov. 2005, 19:47

???

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

13 nov. 2005, 20:35

???
ne stresse pas, on n'est pas informé de ta venu et d'un message ou d'une question ! on te répondras lorsqu'on pourra :wink:

Revenons a ton probleme, le mieux serai de mettre tout ce que tu as la (le code de vote) dans une condition. Donc tu met un script de verification de vote deja fait sur le chargement de la page, comme ça tu peut changer la page et au lieu de mettre un bouton voter tu peut écrire "déja voté" :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute