Maison  >  Article  >  développement back-end  >  Partage d'exemples de fonctions de vote post-humeur PHP

Partage d'exemples de fonctions de vote post-humeur PHP

小云云
小云云original
2018-01-11 15:02:231315parcourir

Cet article partage principalement avec vous un exemple de la fonction de vote d'humeur PHP. J'espère qu'il pourra vous aider.

Lorsque vous parcourez des pages d'actualités ou d'autres pages, vous ressentirez des sentiments après les avoir lues, 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 !

Cet article nécessite une familiarité avec les connaissances liées à jquery, mysql et 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 requête de données ajax mood.php, le fichier d'arrière-plan traite les données de la requête get et renvoie le data sql.php, fichier de base de données, enregistrez les informations de la base de données et saisissez directement le code.

index.html Importez d'abord jquery

//cdn.bootcss.com/jquery/1.7.2/jquery.min.js
当文档载入完毕就请求(ajax-get)投票人数数据
$.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><div class=\"pillar\" style=\"height:"+array[&#39;height&#39;]+"px;\"></div><div class=\"face\" rel=\""+array[&#39;mid&#39;]+"\"><img src=\"images/"+array[&#39;mood_pic&#39;]+"\"><br/>"+array['mood_name']+"</div></li>";
        $("#mood ul").append(str);
      });
    }
  }
});

et ajoutez-le à la page Web après son retour, puis cliquez sur la logique d'expression 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);
    }
  });
});

pour que toute la réception Le travail soit terminé

mood.php Tout d'abord, importez le fichier de base de données sql.php

include_once("sql.php"); toute la fonction, traitement des bases de données et des cookies...

1. Traiter le code d'obtention du 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 = &#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,
      '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(
      &#39;mid&#39; => $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, traitant essentiellement la base de données, 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 est un fichier de stockage d'informations de base de données générale, l'adresse IP de la base de données, le compte, le mot de passe, le nom de la base de données, etc.

Jusqu'à présent, tous les codes de base ont été publiés, maître Just ignorez-le, téléchargez-le et jetez un œil si nécessaire. Il y a aussi une base de données, d'accord, DDL est également publié

$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");

L'avez-vous tous appris ? Dépêchez-vous et essayez-le.

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;
Recommandations associées :

Exemple d'analyse de code de l'implémentation php du système de vote

Comment utiliser PHP+MySql pour implémenter la fonction de vote WeChat

Exemple de partage de code d'implémentation PHP de la fonction de vote d'humeur

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