Posted in PHP onMay 12, 2014
php应用越来越多,也越来越广泛,为了增加网站的丰富多彩,从而出现了很多新的技术。ajax是现代网站中不能缺少的一项技术,他可以异步刷新数据,而实现很多效果,比如刷新验证码,微博中的赞功能,都是运用这个。
本次赞功能的效果图:
主页文件(index.php):
<script type="text/javascript" src="https://3water.com/js/jquery.min.js"></script> <script type="text/javascript" src="finger_ajax.js"></script> <?php header("Content-type:text/html;charset=utf-8"); include "finger_ajax.php"; $sql = "select * from finger_ajax"; $res = mysql_query($sql,$link); while($row = mysql_fetch_array($res)){ echo "<p>".$row['title']." \r\n<a href='#' onclick='finger(".$row['id'].")'><img src='finger.jpg'/>赞一下(<span class='finger".$row['id']."'>".$row['finger']."</span>)</a></p>\r\n"; } ?>
处理ajax请求及配置信息文件(finger_ajax.php):
<?php /**"赞" 功能 响应ajax请求*/ //配置 $dbHost = "localhost"; $dbUser = "root"; $dbPass = "dddddd"; $dbName = "test"; $dbCharset = "utf8"; $link = mysql_connect($dbHost,$dbUser,$dbPass) or die(mysql_error()); mysql_query("set names ".$dbCharset); mysql_select_db($dbName); // End //接受对应的id if(!empty($_POST['id'])){ $id = $_POST['id']; //“赞”加1 $sql = "update finger_ajax set finger=finger+1 where id=$id;"; if(mysql_query($sql,$link)){ echo "ok"; }else{ echo "failed"; } } ?>
js文件(finger_ajax.js):
//赞 js function finger(topic_id){ $.post("finger_ajax.php", { "id": topic_id }, function(data){ if(data=="ok"){ alert("感谢您的支持!"); }else{ alert("对不起,失败了!"); } }, "text"); //获取当前“赞”的次数并加1 var finger = parseInt($(".finger"+topic_id).html())+1; //更新“赞”的次数 $(".finger"+topic_id).html(finger); }
数据库代码(finger_ajax.sql):
DROP TABLE IF EXISTS `finger_ajax`; CREATE TABLE `finger_ajax` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(50) NOT NULL DEFAULT '', `finger` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of finger_ajax -- ---------------------------- INSERT INTO `finger_ajax` VALUES ('1', '今天天气还不错哦!去做点什么好呢?', '10'); INSERT INTO `finger_ajax` VALUES ('2', '欢迎来到 3water.com,国庆将至,祝大家国庆节快乐!!', '3');
php结合ajax实现赞、顶、踩功能实例
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@