Maison > Article > développement back-end > Exemple de partage de code pour implémenter la fonction de vote d'humeur en PHP
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é Demandez simplement (ajax-get) les données du nombre d'é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); }); } } });
Revenez et ajoutez-le à 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
Tout d'abord, importez 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 de la base de données, les cookies...
1. Traitement du code pour obtenir le nombre d'é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.
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.
$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; }
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.
Tous les codes de base ont été publiés jusqu'à présent, je vais donc les ignorer. Si vous en avez besoin, téléchargez-le et jetez-y un œil
$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");
Par. d'ailleurs, elle est toujours là. Il y a une base de données, merci de poster aussi le DDL
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!