System de vote ajax.

Soyez le premier à donner votre avis sur cette source.

Vue 7 650 fois - Téléchargée 1 171 fois

Description

Un petit system de vote avec étoile.
-Nombre d'étoile modifiable ésement.
-Functionne avec une base de donner
-Un peut de javascript pour le design
-Ajax pour resultat instanner
-Cookie pour évité le post en boucle
-Il n'y a qu'a utiliser un include

Note:
- Marche avec id donc utiliser une id adapter au system de vote.
A vous de trouver comment définir cette idee si vous utiliser plusieur fois "la meme".
- Il n'y a pas encore d'administration.

Merci de commenter, j'ai fait cette source pour apprendre ajax. sont utilation demontre bien le functionnement.

Source / Exemple :


<?php
include("conf.php");
$ID_vote = $_GET['ID_vote'];
$Mod = $_GET['Mod'];
$note = $_GET['note'];

$Total_etoile = 5;

if($note!=''){setcookie('Vote'.$ID_vote,"OK",time()+365*24*5); }
?>
<script type="text/javascript">
function httpRequest(file){
var xhr_object = null; 
if(window.XMLHttpRequest) // Firefox 
   xhr_object = new XMLHttpRequest(); 
else if(window.ActiveXObject) // Internet Explorer 
   xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); 
else { // XMLHttpRequest non supporté par le navigateur 
   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
   return; 
} 

var div = div;
var file = file;

xhr_object.open("GET", file, true); 

xhr_object.onreadystatechange = function() { 
   if(xhr_object.readyState == 4){
//   alert(xhr_object.responseText);
document.getElementById('etoile').innerHTML = xhr_object.responseText;
//document.getElementById('etoile').innerHTML = xhr.responseText;
   }
}  
xhr_object.send(null);
}

function etoile_mouseOver(etoile) 
{document.getElementById("etoile"+etoile).src="etoile_select.png";} 

function etoile_mouseOut(etoile,etat) 
{ 
if(etat == 0){document.getElementById("etoile"+etoile).src="etoile.png";}
else if(etat == 1){document.getElementById("etoile"+etoile).src="etoile_demi.png";}
else if(etat == 2){document.getElementById("etoile"+etoile).src="etoile_fonce.png";}

} 

</script>
<?php

///////////////connection a la db
$connect=mysql_connect($sql_serveur,$sql_user,$sql_pass);
mysql_select_db($sql_db, $connect);
/////////////Fourchette de conditon///////////
if($note!='' and $_COOKIE['Vote'.$ID_vote]!='OK'){
/////////recuperation du prochaine id//////////////
$req1="select max(ID) from vote_index";
$res1=mysql_query($req1);
$idmax1=mysql_result($res1,0,"max(ID)")+1; 

$requete = "INSERT INTO vote_donner (ID, ID_vote, Note) VALUES ('".$idmax1."', '".$ID_vote."','".$note."')";
mysql_query ($requete,$connect);
}

$result=mysql_query("SELECT * FROM vote_donner WHERE ID_vote='".$ID_vote."'");
while($row=mysql_fetch_array($result)){
$Nb_etoile=$Nb_etoile.';'.$row['Note'];
}
$Nb_etoile=split(';',$Nb_etoile);
for ($cpt=0; $cpt<(count($Nb_etoile)); $cpt++){
$temps_etoile = $temps_etoile + $Nb_etoile[$cpt];
}
if($cpt-1!=0){$temps_etoile = $temps_etoile / ($cpt-1);}

////////////affiche image etoile
echo '<div id=etoile>';
///etoile complete pale
$Nb_etoile=str_split($temps_etoile, 1);  
for ($cpt=0; $cpt<($Nb_etoile[0]); $cpt++){
$temps_etoile = $cpt+1;

//////texte alt
if($_COOKIE['Vote'.$ID_vote]!='OK'){
$texte_alt='Voter un '.$temps_etoile;}
else{$texte_alt="Vous avez deja voter.";}

echo '<img id="etoile'.$temps_etoile.'" src="etoile.png" Alt="'.$texte_alt.'" onClick="httpRequest(\'vote.php?ID_vote='.$ID_vote.'&Mod=Mod&note='.$temps_etoile.'\');" onmouseover="etoile_mouseOver('.$temps_etoile.')" onmouseOut="etoile_mouseOut('.$temps_etoile.',0)"/>';
}
If($Nb_etoile[2]!=''){
$temps_etoile = $temps_etoile+1;

//////texte alt
if($_COOKIE['Vote'.$ID_vote]!='OK'){
$texte_alt='Voter un '.$temps_etoile;}
else{$texte_alt="Vous avez deja voter.";}

echo '<img id="etoile'.$temps_etoile.'" src="etoile_demi.png" Alt="'.$texte_alt.'" onClick="httpRequest(\'vote.php?ID_vote='.$ID_vote.'&Mod=Mod&note='.$temps_etoile.'\');" onmouseover="etoile_mouseOver('.$temps_etoile.')" onmouseOut="etoile_mouseOut('.$temps_etoile.',1)"/>';
}
///etoile complete fonce
$Nb_etoile[0] = $Total_etoile-$Nb_etoile[0];
if($Nb_etoile[2]!=''){$Nb_etoile[0] = $Nb_etoile[0]-1;}
for ($cpt=0; $cpt<($Nb_etoile[0]); $cpt++){
$temps_etoile = $temps_etoile+1;

//////texte alt
if($_COOKIE['Vote'.$ID_vote]!='OK'){
$texte_alt='Voter un '.$temps_etoile;}
else{$texte_alt="Vous avez deja voter.";}

echo '<img id="etoile'.$temps_etoile.'" src="etoile_fonce.png" Alt="'.$texte_alt.'" onClick="httpRequest(\'vote.php?ID_vote='.$ID_vote.'&Mod=Mod&note='.$temps_etoile.'\');" onmouseover="etoile_mouseOver('.$temps_etoile.')" onmouseOut="etoile_mouseOut('.$temps_etoile.',2)"/>';
}
echo '</div>';

?>

+ sql

Conclusion :


Y'a qu'a importer la base de donner.
Adapter le fichier conf.php
Ouvrir le fichier ak ?ID_vote=???

Et tester.

Ps: image et sql dans le zip.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Dav_c
Messages postés
194
Date d'inscription
dimanche 25 janvier 2004
Statut
Membre
Dernière intervention
11 décembre 2015
-
J'ai dis que je la posterais après avoir demander un coup de main, la voila.
Soyer sévère j'apprend mais je ne puis m'améliorer sans critique.
cod57
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
10 -
bonjour

$_GET elles viennent d'ou CES VARIABLES

déjà dés le départ

//$ID_vote = $_GET['ID_vote'];
//$Mod = $_GET['Mod'];
//$note = $_GET['note'];

if(isset($_GET['ID_vote']) && !empty($_GET['ID_vote']) ){
$ID_vote = $_GET['ID_vote'];
} else {
$ID_vote = NULL;
}

if(isset($_GET['Mod']) && !empty($_GET['Mod']) ){
$Mod = $_GET['Mod'];
} else {
$Mod = NULL ;
}

if(isset($_GET['note']) && !empty($_GET['note']) ){
$note = $_GET['note'];
} else {
$note = NULL ;
}

a++
Dav_c
Messages postés
194
Date d'inscription
dimanche 25 janvier 2004
Statut
Membre
Dernière intervention
11 décembre 2015
-
Mod ne sert a rien encore.
Les autre:
ID_vote ser l'ID du vote ( heinnnnn , pour la db )
Note je sais pas p-t pour la note qui est noter.....
Dav_c
Messages postés
194
Date d'inscription
dimanche 25 janvier 2004
Statut
Membre
Dernière intervention
11 décembre 2015
-
Jajoute. dsl yer 5:30am ici pis jmenvas me coucher.

Sa recupère quoi un $_GET???????
Dav_c
Messages postés
194
Date d'inscription
dimanche 25 janvier 2004
Statut
Membre
Dernière intervention
11 décembre 2015
-
Je comprend le isset ok mais pk je viderais ma var si est dja vide????

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.