The "TOP" and "Step" voting functions implemented by PHP + MySql + jQuery, mysqljquery
This example shares the red-blue (top-step) Voting code based on PHP + jQuery + MySql. The specific content is as follows:
Database Operations:
CREATE TABLE IF NOT EXISTS `votes` ( `id` int(10) NOT NULL AUTO_INCREMENT, `likes` int(10) NOT NULL DEFAULT '0', `unlikes` int(10) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; INSERT INTO `votes` (`id`, `likes`, `unlikes`) VALUES (1, 30, 10); CREATE TABLE IF NOT EXISTS `votes_ip` ( `id` int(10) NOT NULL, `vid` int(10) NOT NULL, `ip` varchar(40) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Div:
<Div class = "digg"> <div id = "dig_up" class = "digup"> <span id = "num_up"> </span> <p> very good, very powerful! </P> <div id = "bar_up" class = "bar"> <span> </span> <I> </div> <div id = "dig_down" class = "digdown"> <span id = "num_down"> </span> <p> too bad! </P> <div id = "bar_down" class = "bar"> <span> </span> <I> </div> <div id = "msg"> </div>
Css:
.digg{width:420px; height:120px; margin:80px auto 20px auto; position:relative} #dig_up,#dig_down{width:200px; height:48px; margin:10px; position:relative; border:1px solid #d3d3d3; padding-left:42px; cursor:pointer} .digup{background:url(diggs.png) no-repeat 4px 2px;} .digup_on{background:url(diggs.png) no-repeat 4px -49px;} .digdown{background:url(diggs.png) no-repeat 4px -102px;} .digdown_on{background:url(diggs.png) no-repeat 4px -154px;} #num_up,#num_down{position:absolute; right:6px; top:18px; font-size:20px;} #dig_up p{height:24px; line-height:24px; color:#360} #dig_down p{height:24px; line-height:24px; color:#f30} .bar{width:100px; height:12px; line-height:12px; border:1px solid #f0f0f0; position:relative; text-align:center} .bar span{display:block; height:12px; } .bar i{position:absolute; top:0; left:104px;} #bar_up span{background:#360} #bar_down span{background:#f60} #msg{position:absolute; right:20px; top:40px; font-size:18px; color:#f00}
Jquery:
$ (Function () {// when the mouse slides and leaves the voting button, the background style is changed $ ("# dig_up "). hover (function () {$ (this ). addClass ("digup_on") ;}, function () {$ (this ). removeClass ("digup_on") ;}); $ ("# dig_down "). hover (function () {$ (this ). addClass ("digdown_on") ;}, function () {$ (this ). removeClass ("digdown_on") ;}); // initialize the data getdata ("do. php ", 1); // when you click" TOP "$ (" # dig_up "). click (function () {getdata ("do. php? Action = like ", 1) ;}); // click $ (" # dig_down "). click (function () {getdata (" do. php? Action = unlike ", 1);}); --------------------------------------- function getdata (url, sid) {$. getJSON (url, {id: sid}, function (data) {if (data. success = 1) {// vote successful $ ("# num_up" ).html (data. like); // display the percentage progress bar effect by controlling the width $ ("# bar_up span" ).css ("width", data. like_percent); $ ("# bar_up I" pai.html (data. like_percent); $ ("# num_down" pai.html (data. unlike); $ ("# bar_down span" ).css ("width", data. unlike_percent); $ ("# bar_down I" pai.html (data. unlike_percent);} else {// failed to vote $ ("# msg" cmd.html(data.msg0000.show(cmd.css ({'opacity ': 1, 'top': '40px '}). animate ({top: '-50px', opacity: 0}, "slow ");}});}
Php:
Include_once ("connect. php "); // connect to the database $ action =$ _ GET ['action']; $ id = 1; $ ip = get_client_ip (); // obtain ip if ($ action = 'like') {// top likes (1, $ id, $ ip);} elseif ($ action = 'unlike ') {// step on likes (0, $ id, $ ip);} else {echo jsons ($ id);} ---------------------------------- function likes ($ type, $ id, $ ip) {$ ip_ SQL = mysql_query ("select ip from votes_ip where vid = '$ id' and ip =' $ ip'"); $ count = mysql_num_rows ($ ip_ SQL ); if ($ cou Nt = 0) {// if ($ type = 1) {// top $ SQL = "update votes set likes = likes + 1 where id = ". $ id;} else {// step on $ SQL = "update votes set unlikes = unlikes + 1 where id = ". $ id;} mysql_query ($ SQL); $ SQL _in = "insert into votes_ip (vid, ip) values ('$ id',' $ ip ')"; mysql_query ($ SQL _in); if (mysql_insert_id ()> 0) {echo jsons ($ id);} else {$ arr ['success'] = 0; $ arr ['msg '] = 'Operation failed. Please try again'; echo json_encode ($ arr) ;}} else {$ msg = $ Type = 1? 'You have already exceeded ':' You have already stepped on '; $ arr ['success'] = 0; $ arr ['msg '] = $ msg; echo json_encode ($ arr) ;}----------- php ------------------------- function jsons ($ id) {$ query = mysql_query ("select * from votes where id = ". $ id); $ row = mysql_fetch_array ($ query); $ like = $ row ['likes ']; $ unlike = $ row ['unlikes']; $ arr ['success'] = 1; $ arr ['like'] = $ like; $ arr ['unlike'] = $ unlike; $ like_percent = round ($ like/($ like + $ unlike), 3) * 100; $ arr ['like _ percent '] = $ like_percent. '%'; $ arr ['Unlike _ percent '] = (100-$ like_percent ). '%'; return json_encode ($ arr );}
The above is all the content of this article. I hope it will help you learn php programming.