php結(jié)合ajax實(shí)現(xiàn)贊、頂、踩功能實(shí)例
php應(yīng)用越來(lái)越多,也越來(lái)越廣泛,為了增加網(wǎng)站的豐富多彩,從而出現(xiàn)了很多新的技術(shù)。ajax是現(xiàn)代網(wǎng)站中不能缺少的一項(xiàng)技術(shù),他可以異步刷新數(shù)據(jù),而實(shí)現(xiàn)很多效果,比如刷新驗(yàn)證碼,微博中的贊功能,都是運(yùn)用這個(gè)。
本次贊功能的效果圖:

主頁(yè)文件(index.php):
<script type="text/javascript" src="http://www.dbjr.com.cn/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請(qǐng)求及配置信息文件(finger_ajax.php):
<?php
/**"贊" 功能 響應(yīng)ajax請(qǐng)求*/
//配置
$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
//接受對(duì)應(yīng)的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("對(duì)不起,失敗了!");
}
}, "text");
//獲取當(dāng)前“贊”的次數(shù)并加1
var finger = parseInt($(".finger"+topic_id).html())+1;
//更新“贊”的次數(shù)
$(".finger"+topic_id).html(finger);
}
數(shù)據(jù)庫(kù)代碼(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', '今天天氣還不錯(cuò)哦!去做點(diǎn)什么好呢?', '10');
INSERT INTO `finger_ajax` VALUES ('2', '歡迎來(lái)到 www.dbjr.com.cn,國(guó)慶將至,祝大家國(guó)慶節(jié)快樂(lè)??!', '3');
- 判斷、添加和刪除WordPress置頂文章的相關(guān)PHP函數(shù)小結(jié)
- php 無(wú)限級(jí)分類 獲取頂級(jí)分類ID
- PHP結(jié)合jQuery實(shí)現(xiàn)的評(píng)論頂、踩功能
- 瀏覽器預(yù)覽PHP文件時(shí)頂部出現(xiàn)空白影響布局分析原因及解決辦法
- php簡(jiǎn)單的留言板與回復(fù)功能具體實(shí)現(xiàn)
- php流量統(tǒng)計(jì)功能的實(shí)現(xiàn)代碼
- ThinkPHP登錄功能的實(shí)現(xiàn)方法
- php發(fā)送短信驗(yàn)證碼完成注冊(cè)功能
- php實(shí)現(xiàn)文章置頂功能的方法
相關(guān)文章
PHP產(chǎn)生不重復(fù)隨機(jī)數(shù)的5個(gè)方法總結(jié)
這篇文章主要介紹了PHP產(chǎn)生不重復(fù)隨機(jī)數(shù)的5個(gè)方法總結(jié),PHP隨機(jī)數(shù)經(jīng)常在項(xiàng)目中使用,本文總結(jié)了網(wǎng)絡(luò)上的和自己項(xiàng)目中用到的隨機(jī)數(shù)生成方法,需要的朋友可以參考下2014-11-11
PHP使用Session遇到的一個(gè)Permission denied Notice解決辦法
這篇文章主要介紹了PHP使用Session遇到的一個(gè)Permission denied Notice解決辦法,本文系統(tǒng)環(huán)境是ubuntu、Debian系統(tǒng),有很小的概率會(huì)遇到這個(gè)提示,需要的朋友可以參考下2014-07-07
codeigniter發(fā)送郵件并打印調(diào)試信息的方法
這篇文章主要介紹了codeigniter發(fā)送郵件并打印調(diào)試信息的方法,實(shí)例分析了codeigniter實(shí)現(xiàn)發(fā)送郵件及打印調(diào)試信息的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03
Yii使用ajax驗(yàn)證顯示錯(cuò)誤messagebox的解決方法
這篇文章主要介紹了Yii使用ajax驗(yàn)證顯示錯(cuò)誤messagebox的解決方法,可以自行設(shè)置Ajax提示信息的方式,是非常實(shí)用的技巧,需要的朋友可以參考下2014-12-12
Laravel學(xué)習(xí)教程之request validation的編寫
這篇文章主要給大家介紹了關(guān)于Laravel學(xué)習(xí)教程之request validation編寫的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-10-10
Zend Framework教程之路由功能Zend_Controller_Router詳解
這篇文章主要介紹了Zend Framework教程之路由功能Zend_Controller_Router,詳細(xì)分析了路由功能Zend_Controller_Router的原理,使用技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-03-03

