Heim  >  Artikel  >  Backend-Entwicklung  >  Teilen von PHP-Post-Mood-Voting-Funktionsbeispielen

Teilen von PHP-Post-Mood-Voting-Funktionsbeispielen

小云云
小云云Original
2018-01-11 15:02:231315Durchsuche

Dieser Artikel zeigt Ihnen hauptsächlich ein Beispiel der PHP-Mood-Voting-Funktion. Ich hoffe, dass er Ihnen helfen kann.

Wenn Sie Nachrichtenseiten oder andere Seiten durchsuchen, werden Sie nach dem Lesen Gefühle haben, wie zum Beispiel großartig, ruhig, Sojasauce, komm schon, betrügen usw. Lassen Sie die Leser es bewerten, um zu sehen, ob es ihnen genauso geht wie den anderen Lesern. Sehr nette Interaktion!

Dieser Artikel erfordert Kenntnisse im Zusammenhang mit JQuery, MySQL und Ajax, wird jedoch nicht häufig verwendet. Dieser Artikel enthält drei Dateien: index.html, mood.php, sql.php

index.html, Seitenanzeige und Anforderungs-Ajax-Daten mood.php, die Hintergrunddatei verarbeitet die Daten aus der Get-Anfrage und gibt die zurück Daten SQL. PHP, Datenbankdatei, speichern Sie die Datenbankinformationen und geben Sie den Code direkt ein.

index.html Importieren Sie zuerst 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);
      });
    }
  }
});

und fügen Sie es nach der Rückkehr zur Webseite hinzu. Klicken Sie dann auf die Ausdruckslogik und Ajax im Hintergrund

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

damit die gesamte Rezeption erledigt ist

mood.php Importieren Sie zunächst die Datenbankdatei sql.php

include_once("sql.php"); Diese Datei verwaltet den Kern von die gesamte Funktion, Verarbeitung von Datenbanken und Cookies ...

1. Verarbeiten Sie den Code zur Ermittlung der Wählerzahl

$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. Verarbeiten Sie die Abstimmungsfunktion

$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;
}

Diese Datei ist sehr einfach und verarbeitet im Grunde die Datenbank. Die Logik ist nicht sehr kompliziert. Sie können vorbeikommen und selbst einen genaueren Blick darauf werfen.

sql.php ist eine allgemeine Datenbankinformationsspeicherdatei, Datenbank-IP, Konto, Passwort, Datenbankname usw.

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

Bisher wurden alle Kerncodes veröffentlicht, toller Meister Überspringen Sie es einfach, laden Sie es herunter und schauen Sie bei Bedarf nach. Es gibt auch eine Datenbank, okay, DDL ist auch gepostet

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;

Haben Sie es alle gelernt? Beeilen Sie sich und probieren Sie es aus.

Verwandte Empfehlungen:

Beispielcode-Analyse der PHP-Implementierung des Abstimmungssystems

So verwenden Sie PHP+MySql zur Implementierung der WeChat-Abstimmungsfunktion

Beispielcode-Sharing der PHP-Implementierung der Mood-Voting-Funktion

Das obige ist der detaillierte Inhalt vonTeilen von PHP-Post-Mood-Voting-Funktionsbeispielen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn