Heim > Artikel > Backend-Entwicklung > PHP implementiert eine Mood-Voting-Funktion
In diesem Artikel werden hauptsächlich Beispiele für die Mood-Voting-Funktion von PHP vorgestellt (Quellcode im Anhang), die einen gewissen Referenzwert haben
Beim Durchsuchen der Nachrichtenseite oder anderer Seiten wird es Gefühle geben Lesen, wie „genial“, „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!
Jetzt herunterladen: Mood_jb51.rar
Dieser Artikel erfordert Kenntnisse im Zusammenhang mit JQuery, MySQL und Ajax, wird jedoch nicht oft verwendet. Dieser Artikel enthält drei Dateien: index.html, mood.php, sql.php
index.html, Seitenanzeige und Anforderung von Ajax-Daten
mood.php, die Hintergrunddatei, verarbeitet die Daten aus der Get-Anfrage und gibt die Daten zurück
sql.php, die Datenbankdatei, speichert die Datenbankinformationen
Kommen wir direkt zum Code.
index.html
Erste Import-JQuery
//cdn.bootcss.com/jquery/1.7.2/jquery.min.js
Wenn das Dokument geladen ist, fordern Sie die Anzahl der Wählerdaten an (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><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); }); } } });
Gehen Sie zurück und fügen Sie es dem hinzu Webseite, und klicken Sie dann einfach auf den Ausdruck Logik und Ajax in den 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); } }); });
Auf diese Weise wird die gesamte Rezeption vervollständigt die Arbeit
mood.php
Importieren Sie zunächst die sql.php-Datenbankdatei
include_once("sql.php");
Diese Datei Was verarbeitet wird, ist der Kern der gesamten Funktion, Verarbeitung von Datenbanken, Cookies...
Verarbeitung des Codes 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 = '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. Verarbeitung der 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
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 wurde der gesamte Kerncode veröffentlicht, also überspringe ich ihn. Wenn Sie ihn brauchen, laden Sie ihn herunter und werfen Sie einen Blick darauf
Übrigens gibt es eine andere Datenbank, bitte posten Sie auch die 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;
Verwandte Empfehlungen:
Beispiele für die Mood-Voting-Funktion von PHP teilen
Beispiele für die Mood-Voting-Funktion von PHP teilen
PHP+jQuery+Ajax + Stimmungsvoting für MySQL-Artikel
Das obige ist der detaillierte Inhalt vonPHP implementiert eine Mood-Voting-Funktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!