用ajax把要?jiǎng)h除的數(shù)據(jù)的主鍵傳給控制器,在控制器中執(zhí)行操作就可以了。

成都創(chuàng)新互聯(lián)專注于云巖企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),商城網(wǎng)站開發(fā)。云巖網(wǎng)站建設(shè)公司,為云巖等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
本篇將繼續(xù)通過(guò)該實(shí)例講解與數(shù)據(jù)庫(kù)的交互方式。實(shí)例中用到的是MySQL,也可以根據(jù)自己的需要替換為其他數(shù)據(jù)庫(kù),其連接方式可以參考PHP相關(guān)手冊(cè)。
在下面源程序包中dbconnector.php
提供了與MySQL的連接函數(shù)。
復(fù)制代碼
代碼如下:
?php
//定義數(shù)據(jù)連接變量
define
("MYSQLHOST",
"localhost");
define
("MYSQLUSER",
"root");
define
("MYSQLPASS",
"root");
define
("MYSQLDB",
"test");
function
opendatabase(){
//連接數(shù)據(jù)庫(kù)所在服務(wù)器
$db
=
mysql_connect
(MYSQLHOST,MYSQLUSER,MYSQLPASS);
try
{
if
(!$db){
//若無(wú)法連接則提示錯(cuò)誤
$exceptionstring
=
"Error
connection
to
database:
br
/";
$exceptionstring
.=
mysql_errno().":
".mysql_error();
throw
new
exception
($exceptionstring);
}
else{
//連接數(shù)據(jù)庫(kù)(test)
mysql_select_db
(MYSQLDB,$db);
}
return
$db;
}catch
(exception
$e){
echo
$e-getmessage();
die();
}
}
?
當(dāng)鼠標(biāo)放到某個(gè)日期上時(shí)會(huì)調(diào)用functions.js中的checkfortasks函數(shù)。同時(shí)checkfortasks會(huì)加載taskchecker.php程序,它會(huì)到MySQL中查詢?cè)撊掌谙滤械膫渫浶畔ⅲ⒔Y(jié)果返回到頁(yè)面中。
復(fù)制代碼
代碼如下:
?php
//調(diào)用數(shù)據(jù)庫(kù)連接程序
require_once
("dbconnector.php");
//連接數(shù)據(jù)庫(kù)
$db
=
opendatabase();
//在MySQL查詢備忘錄
$querystr
=
"SELECT
description
FROM
task
WHERE
thedate='"
.
addslashes
($_GET['thedate'])
.
"'";
//執(zhí)行SQL
if
($datequery
=
mysql_query
($querystr)){
//判斷查詢是否有值
if
(mysql_num_rows
($datequery)
0){
?
div
style="width:
150px;
background:
#FFBC37;
border-style:
solid;
border-color:
#000000;
border-width:
1px;"
div
style="padding:
10px;"
?php
//顯示備忘錄信息
while
($datedata
=
mysql_fetch_array
($datequery)){
if
(!get_magic_quotes_gpc()){
echo
stripslashes
($datedata['description']);
}
else{
echo
$datedata['description'];
}
}
?
/div
/div
?php
}
}
else{
//數(shù)據(jù)庫(kù)查詢錯(cuò)誤
echo
mysql_error();
}
//關(guān)閉數(shù)據(jù)庫(kù)
mysql_close
($db);
?
對(duì)于Ajax的使用和上一篇的原理是一樣的:1.
通過(guò)事件調(diào)用Ajax函數(shù);2.
通過(guò)函數(shù)請(qǐng)求其他PHP程序,PHP程序中可以對(duì)數(shù)據(jù)庫(kù)之類的數(shù)據(jù)源進(jìn)行讀、寫、改操作;3.
將處理結(jié)果加載到事件激發(fā)頁(yè)面。在下圖中鼠標(biāo)放到26號(hào)時(shí),Ajax會(huì)在MySQL中查詢到“Football
Match”事件并加載到當(dāng)前頁(yè)面。
源代碼下載
比如現(xiàn)在我想傳到admin.php 頁(yè)面
傳遞的數(shù)據(jù)是 id=22;page=1;
不需要這么煩的吧 a href="admin.php?id=22page=1"刪除/a
在admin.php頁(yè)面 用 $id = $_GET['id'];就可以得到id的值 page同理
這樣是不會(huì)刷新的,你必須在通過(guò)ajax設(shè)置cookie后由后端返回設(shè)置結(jié)果(成功/失敗)
然后在前端通過(guò)js更新頁(yè)面
因?yàn)榫W(wǎng)頁(yè)在顯示時(shí)已經(jīng)下載完畢,不會(huì)改變了,你需要改變網(wǎng)頁(yè)內(nèi)容,就要用js修改,ajax取回來(lái)數(shù)據(jù),然后前端用js根據(jù)數(shù)據(jù)來(lái)修改頁(yè)面
你的后端將cookie刪除了,但前端頁(yè)面已經(jīng)被瀏覽器解析,所以瀏覽器不會(huì)自己修改登錄信息
解決方法:
ajax發(fā)送請(qǐng)求→PHP接到退出請(qǐng)求→PHP刪cookie→PHP返回成功碼{"success":1}或失敗碼{"success":0}→前端接受到返回碼→如果是1,則通過(guò)js將用戶名改掉(如document.getElementById('username').innerHTML='請(qǐng)登錄')等
一般退出是直接用一個(gè)鏈接,用戶訪問(wèn)連接后,后端清理cookie,然后用302或301跳轉(zhuǎn)到原來(lái)頁(yè)面或首頁(yè),目前大部分網(wǎng)站都是跳轉(zhuǎn)的方式退出的
雖然ajax不刷新頁(yè)面的方式理論上用戶體驗(yàn)更好,但個(gè)人認(rèn)為,退出賬戶這類操作不會(huì)經(jīng)常使用,沒(méi)有必要用ajax,通常是網(wǎng)頁(yè)中動(dòng)態(tài)展示的數(shù)據(jù)(如天氣、抽獎(jiǎng)結(jié)果、活動(dòng)參與信息)等經(jīng)常需要變動(dòng)的數(shù)據(jù)用ajax
沒(méi)明白你說(shuō)的分開是什么意思,操作數(shù)組,就用循環(huán)。
while或者foreach或者for都可以。
你把$ja print_r()出來(lái),看看格式不就知道了。
網(wǎng)頁(yè)題目:phpajax刪除數(shù)據(jù)的簡(jiǎn)單介紹
網(wǎng)站地址:http://chinadenli.net/article22/dsgppcc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、網(wǎng)站設(shè)計(jì)、Google、面包屑導(dǎo)航、電子商務(wù)、用戶體驗(yàn)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容