bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

php數據庫點贊功能 php點贊的代碼

php用數據庫怎么實現贊功能?

就應該數據庫進行數據存儲,安全!贊功能很簡單,既然是要對文章做功能,那么互動角色就是會員,考慮一個問題,會員需要不需要登錄才能點贊,如果不需要登錄也可以點贊,你需要有個匿名會員。

網站建設哪家好,找成都創新互聯公司!專注于網頁設計、網站建設、微信開發、成都小程序開發、集團企業網站建設等服務項目。為回饋新老客戶創新互聯還提供了夏河免費建站歡迎大家使用!

那么表方面三個:一個文章表,一個贊表,一個會員表

數據存儲:

會員點擊了贊,相應的數據存到贊的表里面,這個三個表怎么關聯的呢?其核心是贊表,這個表里面存有文章的id號和會員的id號,形成關系。

數據讀取:

文章內容讀取時候,根據文章的id,從贊的表調取相關數據統計,ok。

Php點贊效果的制作代碼+解析

數據庫設計

先準備兩張表,pic表保存的是圖片信息,包括圖片對應的名稱、路徑以及圖片“贊”總數,pic_ip則記錄用戶點擊贊后的IP數據。

CREATE?TABLE?IF?NOT?EXISTS?`pic`?(?

`id`?int(11)?NOT?NULL?AUTO_INCREMENT,?

`pic_name`?varchar(60)?NOT?NULL,?

`pic_url`?varchar(60)?NOT?NULL,?

`love`?int(11)?NOT?NULL?DEFAULT?'0',?

PRIMARY?KEY?(`id`)?

)?ENGINE=MyISAM??DEFAULT?CHARSET=utf8;?

CREATE?TABLE?IF?NOT?EXISTS?`pic_ip`?(?

`id`?int(11)?NOT?NULL?AUTO_INCREMENT,?

`pic_id`?int(11)?NOT?NULL,?

`ip`?varchar(40)?NOT?NULL,?

PRIMARY?KEY?(`id`)?

)?ENGINE=MyISAM??DEFAULT?CHARSET=utf8

index.php

在index.php中,我們通過PHP讀取pic表中的圖片信息并展示出來,結合CSS,提升頁面展示效果。

?php?

include_once("connect.php");?

$sql?=?mysql_query("select?*?from?pic");?

while($row=mysql_fetch_array($sql)){?

$pic_id?=?$row['id'];?

$pic_name?=?$row['pic_name'];?

$pic_url?=?$row['pic_url'];?

$love?=?$row['love'];?

??

liimg?src="images/?php?echo?$pic_url;?"?alt="?php?echo?$pic_name;?"pa?href="#"??

title="贊"class="img_on"?rel="?php?echo?$pic_id;?"?php?echo?$love;?/a/p/li?

?php?}?

CSS中,我們將定義鼠標滑向和離開紅心按鈕的動態效果,并定位按鈕的位置。

.list{width:760px;?margin:20px?auto}?

.list?li{float:left;?width:360px;?height:280px;?margin:10px;?position:relative}?

.list?li?p{position:absolute;?top:0;?left:0;?width:360px;?height:24px;?line-height:24px;??

background:#000;?opacity:.8;filter:alpha(opacity=80);}?

.list?li?p?a{padding-left:30px;?height:24px;?background:url(images/heart.png)?no-repeat??

4px?-1px;color:#fff;?font-weight:bold;?font-size:14px}?

.list?li?p?a:hover{background-position:4px?-25px;text-decoration:none}

jQuery代碼

當用戶點擊自己喜歡的圖片上的紅心按鈕時,向后臺love.php發送ajax請求,請求響應成功后,更新原有的數值

$(function(){?

$("p?a").click(function(){?

var?love?=?$(this);?

var?id?=?love.attr("rel");?//對應id?

love.fadeOut(300);?//漸隱效果?

$.ajax({?

type:"POST",?

url:"love.php",?

data:"id="+id,?

cache:false,?//不緩存此頁面?

success:function(data){?

love.html(data);?

love.fadeIn(300);?//漸顯效果?

}?

});?

return?false;?

});?

});

love.php

后臺love.php接收前端的ajax請求,根據提交的圖片id值,查找IP表中是否已有該用戶ip的點擊記錄,如果有則告訴用戶已“贊過了”,反之,則進行一下操作:

1、更新圖片表中對應的圖片love字段值,將數值加1。

2、將該用戶IP信息寫入到pic_ip表中,用以防止用戶重復點擊。

3、獲取更新后的贊值,即贊該圖片的用戶總數,并將該總數輸出給前端頁面。

include_once("connect.php");?//連接數據庫?

$ip?=?get_client_ip();?//獲取用戶IP?

$id?=?$_POST['id'];?

if(!isset($id)?||?empty($id))?exit;?

$ip_sql=mysql_query("select?ip?from?pic_ip?where?pic_id='$id'?and?ip='$ip'");?

$count=mysql_num_rows($ip_sql);?

if($count==0){?//如果沒有記錄?

$sql?=?"update?pic?set?love=love+1?where?id='$id'";?//更新數據?

mysql_query(?$sql);?

$sql_in?=?"insert?into?pic_ip?(pic_id,ip)?values?('$id','$ip')";?//寫入數據?

mysql_query(?$sql_in);?

$result?=?mysql_query("select?love?from?pic?where?id='$id'");?

$row?=?mysql_fetch_array($result);?

$love?=?$row['love'];?//獲取贊數值?

echo?$love;?

}else{?

echo?"贊過了..";?

}

我上傳的附件中 數據庫SQL 你可以直接建立test 數據庫UTF8編碼的,然后把SQL文件導入進去。修改一下connect.php中數據庫的連接信息即可。

【新手求助】PHP點贊功能,急!!!

html:

head

script?src="common/js/jquery.js"?type="text/javascript"/script

script?language="JavaScript"?type="text/javascript"

jQuery(function($)?{

//這兩個是鼠標放上去的效果

$(".zhan").hover(function(){

$(this).children("b").toggle();

});?

$(".cai").hover(function(){

? $(this).children("b").toggle();

});?

});?

/script

script?type="text/javascript"

!--這兩個點擊事件可以改進的,因為事件問題,所以就弄了兩個點擊事件

$(document).ready(function(e)?{

//點贊(給力)

$('.zhan').click(function(){

var?zhan=$(this);

var?left?=?parseInt($(this).offset().left)+10,?top?=??parseInt($(this).offset().top)-10,?obj=$(this);

$(this).append('div?id="zhan"b+1\/b/\div');

$('#zhan').css({'position':'absolute','z-index':'1',?'color':'#C30','left':left+'px','top':top+'px'}).animate({top:top-10,left:left+10},'slow',function(){

$(this).fadeIn('fast').remove();

var?Num?=?parseInt(obj.find('span').text());

Num++;

obj.find('span').text(Num);

});

$.ajax({

url:"ajax.php?action=zan",

type:"post",

data:"answer_id="+$(this).attr("alt"),

success:function(datas){

zhan.unbind('click');

zhan.parent().parent().siblings().children().children().unbind('click');

zhan.parent().parent().siblings().children().children().attr("class","evaluate-inner");

zhan.attr("class","evaluate-inner");

}

});

});

//踩(不給力)

$('.cai').click(function(){

var?cai=$(this);

var?left?=?parseInt($(this).offset().left)+10,?top?=??parseInt($(this).offset().top)-10,?obj=$(this);

$(this).append('div?id="cai"b-1\/b/\div');

$('#cai').css({'position':'absolute','z-index':'1',?'color':'#7DAAD5','left':left+'px','top':top+'px'}).animate({top:top-10,left:left+10},'slow',function(){

$(this).fadeIn('fast').remove();

var?Num?=?parseInt(obj.find('span').text());

Num--;

obj.find('span').text(Num);

});

$.ajax({

url:"ajax.php?action=cai",

type:"post",

data:"answer_id="+$(this).attr("alt"),

success:function(datas){

cai.unbind('click');

cai.parent().parent().siblings().children().children().unbind('click');

cai.parent().parent().siblings().children().children().attr("class","evaluate-inner");

cai.attr("class","evaluate-inner");

}

});

});

});

//--

/script

/head

body

!--給力開始--

span?data-evaluate="0"?id="evaluate-1908165795"?class="evaluate"?alog-action="qb-zan-btn"?span??class="evaluate-outer"

!-----判斷對應的回答的id是否在自己創建的存儲贊和踩數據的php文件,如果贊或者踩存在一個的話就不能再單擊----

span?class="evaluate-inner?{if?$answer_datas.ans_id|in_array:$zan_list?or?$answer_datas.ans_id|in_array:$cai_list/}{else/}zhan{/if/}"?alt="{$answer_datas.ans_id/}"?b??style="display:none"?class="evaluate-tip?evaluate-num-fixed"給力/b?b??class="evaluate-num?evaluate-num-fixed"?span{$answer_datas.goods/}/span/b?/span?/span?/span

!--不給力開始--

span?data-evaluate="0"?id="evaluate-bad-1908165795"?class="evaluate?evaluate-bad"?alog-action="qb-evaluate-outer"?span?class="evaluate-outer"?span?class="evaluate-inner?{if?$answer_datas.ans_id|in_array:$zan_list?or?$answer_datas.ans_id|in_array:$cai_list/}{else/}cai{/if/}"?alt="{$answer_datas.ans_id/}"?b??style="display:?none;"?class="evaluate-tip?evaluate-num-fixed"不給力/b?b??class="evaluate-num?evaluate-num-fixed"?style="display:?inline-block;"span{$answer_datas.bads/}/span/b?/span?/span?/span

/div

/div

!--評論回答開始--

/body

/html

php

?php

$action=$_GET['action'];//獲取get方式傳過來的action

require_once("array/ovovsys_zan.php");

switch($action){

case?'detail':

/*****贊開始****/

$zan_list?=?json_decode(str_replace("'",'"',$zan_json),true);

$zan_lists=array();

foreach($zan_list?as?$key=$value){

if($value['uid']==$uid){

? $zan_lists[]=$value['answer_id'];

}

}

$smarty-assign('zan_list',$zan_lists);//查詢當前登錄的會員的uid對應的點贊的回答

/*****贊結束****/

/*****踩開始****/

$cai_list?=?json_decode(str_replace("'",'"',$cai_json),true);

$cai_lists=array();

foreach($cai_list?as?$key=$value){

if($value['uid']==$uid){

? $cai_lists[]=$value['answer_id'];

}

}

$smarty-assign('cai_list',$cai_lists);//查詢當前登錄的會員的uid對應的踩的回答

/*****踩結束****/

$smarty-display('自己的靜態頁面');

exit();

break;

}

?

ajax

?php?

require_once("array/ovovsys_zan.php");//這里引用array文件夾中的數組文件

$action=trim($_GET['action']);

if(empty($action)){

echo?'font?color=red參數錯誤!/font';exit();

}

switch($action){

?case?'zan'://點贊(給力)

//$zan_json是數組文件中設置的數組變量,存的是json數據----1

$zan_array?=?json_decode(str_replace("'",'"',$zan_json),true);

//獲取當前的會員的uid-----2

$user_answer['uid']=$uid;

//獲取對應的贊的回答的id----2

$user_answer['answer_id']=$_POST['answer_id'];

//將會員的uid和答案的id一塊的數組放到指定的數組中----3

$zan_array[]=$user_answer;

$config_path?=?'shuzu/ovovsys_zan.php';

if(!file_exists($config_path)){

$Base-ErrorMsg('文件錯誤:shuzu/ovovsys_zan.php?不存在!');exit();

}

//將指定的數組轉換成json數據,并且將雙引號轉換成單引號,不然放到數組文件中后會出錯----4

$zan_new_json?=?str_replace('"',"'",json_encode($zan_array));

$fp?=?@fopen($config_path,'r+');

if(!$content?=?@fread($fp,filesize($config_path))){

$Base-ErrorMsg('無法讀取shuzu/ovovsys_zan.php文件!');exit();

}

//執行替換,將數組文件中對應的json數據----5

$content?=?str_replace("\$zan_json?=?\"{$zan_json}\"","\$zan_json?=?\"{$zan_new_json}\"",$content);

$fp?=?@fopen($config_path,'w+');?

@fwrite($fp,$content);?

//修改對應的數據表中的數據----5

$Db-ThisQuery("update?`".$db_prefix."ask_answers`?set?`goods`=`goods`+1?where?`ans_id`=".$user_answer['answer_id']."");

exit();

break;

?case?'cai'://踩(不給力)

$cai_array?=?json_decode(str_replace("'",'"',$cai_json),true);

$user_answer['uid']=$uid;

$user_answer['answer_id']=$_POST['answer_id'];

$cai_array[]=$user_answer;

$config_path?=?'shuzu/ovovsys_zan.php';

if(!file_exists($config_path)){

$Base-ErrorMsg('文件錯誤:shuzu/ovovsys_zan.php?不存在!');exit();

}

$cai_new_json?=?str_replace('"',"'",json_encode($cai_array));

$fp?=?@fopen($config_path,'r+');

if(!$content?=?@fread($fp,filesize($config_path))){

$Base-ErrorMsg('無法讀取shuzu/ovovsys_zan.php文件!');exit();

}

$content?=?str_replace("\$cai_json?=?\"{$cai_json}\"","\$cai_json?=?\"{$cai_new_json}\"",$content);

$fp?=?@fopen($config_path,'w+');?

@fwrite($fp,$content);?

$Db-ThisQuery("update?`".$db_prefix."ask_answers`?set?`bads`=`bads`-1?where?`ans_id`=".$user_answer['answer_id']."");

exit();

break;

}

?

對應的數據文件(因為創建數據庫時沒有創建踩和贊的再斷,所以這里就用php文件存變量的方式保存了一下答案對應的贊和踩的數據,其中包含用戶的id和答案的id):

?php

$zan_json?=?"";

$cai_json?=?"";

?

你沒看錯,就是兩個變量

PHP點贊和踩功能的怎么實現,代碼怎么寫

這個問題應該屬于javascript類,你這樣提問會導致知道分類分到php里去了。

實際上應該是前端控制的,有人說了,可以用jquery的$.post,如果你要用兩個form, 那就不能用$('form')這種方式提交,因為會選到兩個Form,可以分別加標示區分

form?id='good'

/form

form?id='bad'

/form

script

$('#good').submit();

/script

而且點贊和踩,這種功能,不需要用到form, 兩個Button就可以了

分享題目:php數據庫點贊功能 php點贊的代碼
網頁地址:http://vcdvsql.cn/article24/dopjgje.html

成都網站建設公司_創新互聯,為您提供網站建設服務器托管品牌網站建設定制網站全網營銷推廣商城網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網站建設