Maison  >  Article  >  développement back-end  >  PHP implémente la fonction de vote d'humeur

PHP implémente la fonction de vote d'humeur

墨辰丷
墨辰丷original
2018-05-18 10:02:081523parcourir

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[&#39;mood_val&#39;]+"</span><p class=\"pillar\" style=\"height:"+array[&#39;height&#39;]+"px;\"></p><p class=\"face\" rel=\""+array[&#39;mid&#39;]+"\"><img src=\"images/"+array[&#39;mood_pic&#39;]+"\"><br/>"+array[&#39;mood_name&#39;]+"</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(&#39;click&#39;,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(&#39;,&#39;,$moodname);//心情说明
$num = count($mname);
$mpic = explode(&#39;,&#39;,$moodpic);//心情图标
$id = (int)$_GET[&#39;id&#39;];
$query = mysql_query("select * from mood where id=$id");
$rs = mysql_fetch_array($query);
if($rs){
  $total = $rs[&#39;mood0&#39;]+$rs[&#39;mood1&#39;]+$rs[&#39;mood2&#39;]+$rs[&#39;mood3&#39;]+$rs[&#39;mood4&#39;];
  for($i=0;$i<$num;$i++){
    $field = &#39;mood&#39;.$i;
    $m_val = intval($rs[$field]);
    $height = 0; //柱图高度
    if($total && $m_val){
      $height=round(($m_val/$total)*$moodpicheight); //计算高度
    }
    $arr[] = array(
      &#39;mid&#39; => $i,
      &#39;mood_name&#39; => $mname[$i],
      &#39;mood_pic&#39; => $mpic[$i],
      &#39;mood_val&#39; => $m_val,
      &#39;height&#39; => $height
    );
  }
  echo json_encode($arr);
} else {
  for($i=0;$i<$num;$i++){
    $arr[] = array(
      &#39;mid&#39; => $i,
      &#39;mood_name&#39; => $mname[$i],
      &#39;mood_pic&#39; => $mpic[$i],
      &#39;mood_val&#39; => 0,
      &#39;height&#39; => 0
    );
  }
  echo json_encode($arr);
}


2. Fonction de traitement du vote


$id = (int)$_POST[&#39;id&#39;];
$mid = (int)$_POST[&#39;moodid&#39;];
if($mid<0 || !$id){
  echo "错误";
  exit;
}

$havemood = chk_mood($id);
if($havemood==1){
  echo "您已表达过了";exit;
}
$field = &#39;mood&#39;.$mid;
//查询是否有这个id
$result = mysql_query("select 1 from mood where id=&#39;{$id}&#39;");
$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[&#39;mood0&#39;]+$rs[&#39;mood1&#39;]+$rs[&#39;mood2&#39;]+$rs[&#39;mood3&#39;]+$rs[&#39;mood4&#39;];
    $height = round(($rs[$field]/$total)*$moodpicheight);
    echo $height;
  }else{
    echo -1;
  }
} else {
  mysql_query("INSERT INTO mood(id,mood0,mood1,mood2,mood3,mood4)VALUES (&#39;{$id}&#39;,&#39;0&#39;,&#39;0&#39;,&#39;0&#39;,&#39;0&#39;,&#39;0&#39;)");
  $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

Au fait, il existe également une base de données, veuillez également publier le DDL


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;


Connexe recommandations :

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn