Maison > Article > développement back-end > PHP implémente la fonction de vote d'humeur
Cet article présente principalement des exemples de la fonction de vote d'humeur de PHP (code source ci-joint), qui a une certaine valeur de référence. Les amis intéressés peuvent s'y référer
lorsqu'ils parcourent la page d'actualités ou d'autres pages. Il y aura des sentiments après. lire, comme génial, calme, sauce soja, allez, tricher, etc. Laissez les lecteurs l’évaluer pour voir s’ils ressentent la même chose que les autres lecteurs. Très belle interaction!
Télécharger maintenant : mood_jb51.rar
Cet article nécessite une familiarité avec jquery, mysql et des connaissances liées à ajax, mais il n'est pas beaucoup utilisé. Cet article comporte trois fichiers : index.html, mood.php, sql.php
index.html, affichage de la page et demande de données ajax
mood.php, le fichier d'arrière-plan traite les données de la requête get et renvoie les données
sql.php, le fichier de base de données, stocke les informations de la base de données
Passons directement au code.
index.html
Première importation jquery
//cdn.bootcss.com/jquery/1.7.2/jquery.min.js
Lorsque le document est chargé, demander (ajax-get) le nombre de données des électeurs
$.ajax({ type: 'GET', url: 'mood.php', cache: false, data: 'id=1', dataType: 'json', error: function(){ alert('出错了!'); }, success: function(json){ if(json){ $.each(json,function(index,array){ var str = "<li><span>"+array['mood_val']+"</span><p class=\"pillar\" style=\"height:"+array['height']+"px;\"></p><p class=\"face\" rel=\""+array['mid']+"\"><img src=\"images/"+array['mood_pic']+"\"><br/>"+array['mood_name']+"</p></li>"; $("#mood ul").append(str); }); } } });
Retourner et ajoutez-le à Dans la page Web, puis cliquez sur l'expression logique et ajax en arrière-plan
$(".face").live('click',function(){ var face = $(this); var mid = face.attr("rel"); var value = face.parent().find("span").html(); var val = parseInt(value)+1; $.post("mood.php?action=send",{moodid:mid,id:1},function(data){ if(data>0){ face.prev().css("height",data+"px"); face.parent().find("span").html(val); face.find("img").addClass("selected"); }else{ alert(data); } }); });
De cette façon, toute la réception a terminé son travail
mood.php
Importez d'abord le fichier de base de données sql.php
include_once("sql.php");
Ce fichier gère le cœur de toute la fonction, le traitement des bases de données, les cookies...
Traitement du code pour obtenir le numéro de. électeurs
$mname = explode(',',$moodname);//心情说明 $num = count($mname); $mpic = explode(',',$moodpic);//心情图标 $id = (int)$_GET['id']; $query = mysql_query("select * from mood where id=$id"); $rs = mysql_fetch_array($query); if($rs){ $total = $rs['mood0']+$rs['mood1']+$rs['mood2']+$rs['mood3']+$rs['mood4']; for($i=0;$i<$num;$i++){ $field = 'mood'.$i; $m_val = intval($rs[$field]); $height = 0; //柱图高度 if($total && $m_val){ $height=round(($m_val/$total)*$moodpicheight); //计算高度 } $arr[] = array( 'mid' => $i, 'mood_name' => $mname[$i], 'mood_pic' => $mpic[$i], 'mood_val' => $m_val, 'height' => $height ); } echo json_encode($arr); } else { for($i=0;$i<$num;$i++){ $arr[] = array( 'mid' => $i, 'mood_name' => $mname[$i], 'mood_pic' => $mpic[$i], 'mood_val' => 0, 'height' => 0 ); } echo json_encode($arr); }
2. Fonction de traitement du vote
$id = (int)$_POST['id']; $mid = (int)$_POST['moodid']; if($mid<0 || !$id){ echo "错误"; exit; } $havemood = chk_mood($id); if($havemood==1){ echo "您已表达过了";exit; } $field = 'mood'.$mid; //查询是否有这个id $result = mysql_query("select 1 from mood where id='{$id}'"); $row = mysql_fetch_array($result); if(is_array($row)){ $query = mysql_query("update mood set ".$field."=".$field."+1 where id=".$id); if($query){ setcookie("mood".$id, $mid.$id, time()+3600); $query2 = mysql_query("select * from mood where id=$id"); $rs = mysql_fetch_array($query2); $total = $rs['mood0']+$rs['mood1']+$rs['mood2']+$rs['mood3']+$rs['mood4']; $height = round(($rs[$field]/$total)*$moodpicheight); echo $height; }else{ echo -1; } } else { mysql_query("INSERT INTO mood(id,mood0,mood1,mood2,mood3,mood4)VALUES ('{$id}','0','0','0','0','0')"); $query = mysql_query("update mood set ".$field."=".$field."+1 where id=".$id); setcookie("mood".$id, $mid.$id, time()+3600); echo $moodpicheight; }
Ce fichier est très simple, il traite essentiellement de la base de données, et la logique n'est pas très compliquée. Vous pouvez descendre et regarder de plus près vous-même.
sql.php
Un fichier général de stockage d'informations de base de données, l'adresse IP de la base de données, le compte, le mot de passe, le nom de la base de données, etc.
$host="localhost"; $db_user="root"; $db_pass=""; $db_name="demo"; $timezone="Asia/Shanghai"; $link=mysql_connect($host,$db_user,$db_pass); mysql_select_db($db_name,$link); mysql_query("SET names UTF8"); header("Content-Type: text/html; charset=utf-8");
Jusqu'à présent, tout le code de base a été publié, je vais donc l'ignorer. Si vous en avez besoin, téléchargez-le et jetez-y un œil
CREATE TABLE `mood` ( `id` tinyint(5) NOT NULL, `mood0` int(9) unsigned NOT NULL, `mood1` int(9) unsigned NOT NULL, `mood2` int(9) unsigned NOT NULL, `mood3` int(9) unsigned NOT NULL, `mood4` int(9) unsigned NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Partage d'exemples de la fonction de vote d'humeur en PHP
Partage de l'exemple de code de la fonction de vote d'humeur en PHP
Vote d'humeur d'article PHP +jQuery+Ajax+Mysql
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!