摘要:一直學(xué)的都是前端方面的東西,最近對(duì)有點(diǎn)感興趣,研究了一下以前項(xiàng)目中后臺(tái)的文件,也看了點(diǎn)視頻,做了一個(gè)放微博發(fā)布動(dòng)態(tài)的小功能,算是剛?cè)腴T(mén)吧。記錄一下學(xué)習(xí)過(guò)程。
</>復(fù)制代碼
一直學(xué)的都是前端方面的東西,最近對(duì)php有點(diǎn)感興趣,研究了一下以前項(xiàng)目中后臺(tái)的php文件,也看了點(diǎn)視頻,做了一個(gè)放微博發(fā)布動(dòng)態(tài)的小功能,算是剛?cè)腴T(mén)吧。記錄一下學(xué)習(xí)過(guò)程。歡迎php的大佬指導(dǎo)批評(píng)^_^
代碼部分
</>復(fù)制代碼
// 創(chuàng)建消息節(jié)點(diǎn)
function createEle(id, txt, time, acc, ref) {
var content = ""+
""+ txt +"
"+
""+
""+ time +""+
""+
""+ acc +""+
""+ ref +""+
"刪除"+
""+
""+
"";
$(".create").prepend(content);
}
// 初始加載
init();
function init() {
$.ajax({
type: "POST",
url: "weibo.php",
data: "act=update",
success: function (res) {
var data = JSON.parse(res);
$(data).each(function (index, value) {
createEle(data[index].id, data[index].content, data[index].uptime, data[index].acc, data[index].ref);
})
}
})
}
// 獲取時(shí)間
function time() {
var data = new Date();
function change(val) {
if (val < 10) {
return "0" + val;
} else {
return val;
}
}
var arr = [data.getMonth() + 1 + "月", data.getDay() + "日 ", data.getHours() + ":", change(data.getMinutes()) + ":", change(data.getSeconds())];
return arr.join("");
}
// 發(fā)送 創(chuàng)建
$("#send").click(function () {
if ($("#text").val()) {
var txt = $("#text").val();
$.ajax({
type: "POST",
url: "weibo.php",
data: "act=add&content="+txt+"&time="+time(),
success: function(res){
var mul = 0;
var data = JSON.parse(res);
createEle(data[data.length - 1].id, txt, time(), 0, 0);
}
});
} else {
alert("輸入不能為空");
}
});
// 刪除
$("body").on("click", ".inferDel", function () {
$(this).parents(".infer").remove();
$.ajax({
type: "POST",
url: "weibo.php",
data: "act=del&id="+$(this).parents(".infer").attr("data-set"),
success: function(res){
}
});
})
// 點(diǎn)贊
$("body").on("click", ".up", function () {
$(this).html(parseInt($(this).html()) + 1);
$.ajax({
type: "POST",
url: "weibo.php",
data: "act=acc&id="+$(this).parents(".infer").attr("data-set")+"&acc="+$(this).html(),
success: function(res){
}
});
})
// 踩點(diǎn)
$("body").on("click", ".down", function () {
$(this).html(parseInt($(this).html()) + 1);
$.ajax({
type: "POST",
url: "weibo.php",
data: "act=ref&id="+$(this).parents(".infer").attr("data-set")+"&ref="+$(this).html(),
success: function(res){
}
});
})
php
</>復(fù)制代碼
connect_error) {
die("數(shù)據(jù)庫(kù)連接失敗".$con->connect_error);
} else {
// echo "數(shù)據(jù)庫(kù)連接成功";
}
// 插入數(shù)據(jù)
if ($_POST["act"]=="add") {
$txt = $_POST["content"];
$time = $_POST["time"];
// echo $time;
$sql = "INSERT INTO weibo (content, uptime) VALUES ("$txt", "$time")";
$con->query($sql);
$sql2 = "SELECT * FROM weibo";
$result = $con->query($sql2);
if ($result) {
$test = array();
while($row = $result->fetch_assoc()) {
$info = array("id" => $row["id"], "content" => $row["content"], "uptime" => $row["uptime"], "acc" => $row["acc"], "ref" => $row["ref"]);
array_push($test, $info);
}
echo json_encode($test);
} else {
echo "Error";
}
// if ($con->query($sql)) {
// echo mysqli_insert_id($con);
// } else {
// echo "Error";
// }
}
// 刪除數(shù)據(jù)
if ($_POST["act"]=="del") {
$id = $_POST["id"];
$sql = "DELETE FROM weibo WHERE id = "$id"";
$con->query($sql);
}
// 點(diǎn)贊數(shù)據(jù)
if ($_POST["act"]=="acc") {
$id = $_POST["id"];
$acc = $_POST["acc"];
$sql = "UPDATE weibo SET acc = "$acc" WHERE id = "$id"";
$con->query($sql);
}
// 踩點(diǎn)數(shù)據(jù)
if ($_POST["act"]=="ref") {
$id = $_POST["id"];
$ref = $_POST["ref"];
$sql = "UPDATE weibo SET ref = "$ref" WHERE id = "$id"";
$con->query($sql);
}
// 加載數(shù)據(jù)庫(kù)
if ($_POST["act"]=="update") {
$sql = "SELECT * FROM weibo";
$result = $con->query($sql);
if ($result) {
$test = array();
while($row = $result->fetch_assoc()) {
$info = array("id" => $row["id"], "content" => $row["content"], "uptime" => $row["uptime"], "acc" => $row["acc"], "ref" => $row["ref"]);
array_push($test, $info);
}
echo json_encode($test);
} else {
echo "Error";
}
}
$con->close();
?>
寫(xiě)完之后才知道$con->query($sql)是老版本的寫(xiě)法,現(xiàn)在的語(yǔ)法是mysqli_query($conn, $sql)。
最后加載數(shù)據(jù)庫(kù),對(duì)把數(shù)據(jù)處理成數(shù)組對(duì)象,轉(zhuǎn)成json格式傳遞到前端,這里還是稍微糾結(jié)了一會(huì)兒,感覺(jué)寫(xiě)的可讀性有點(diǎn)差……
</>復(fù)制代碼
2018-12-15 優(yōu)化更新
</>復(fù)制代碼
// 加載數(shù)據(jù)庫(kù)
if ($_POST["act"]=="update") {
$sql = "SELECT * FROM weibo";
$result = mysqli_query($con, $sql);
// if ($result) {
$info = mysqli_fetch_all($result, MYSQLI_ASSOC);
echo json_encode($info, JSON_UNESCAPED_UNICODE);
// $test = array();
// while($row = $result->fetch_assoc()) {
// array_push($test, $row);
// }
// echo json_encode($test, JSON_UNESCAPED_UNICODE);
// echo json_encode($test);
// } else {
// echo "Error";
// }
}
剛開(kāi)始寫(xiě)的時(shí)候不知道用什么方法返回結(jié)果集,用了fetch_assoc()方法獲取一行關(guān)聯(lián)數(shù)組,再array_push()進(jìn)一個(gè)空數(shù)組里。發(fā)現(xiàn)有mysqli_fetch_all()方法之后感覺(jué)自己愚蠢至極……直接用mysqli_fetch_all()處理結(jié)果集就行了,要加上MYSQLI_ASSOC使返回的是關(guān)聯(lián)數(shù)組,方便AJAX遍歷,否則返回的是沒(méi)有索引的數(shù)組格式。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/99980.html
摘要:一直學(xué)的都是前端方面的東西,最近對(duì)有點(diǎn)感興趣,研究了一下以前項(xiàng)目中后臺(tái)的文件,也看了點(diǎn)視頻,做了一個(gè)放微博發(fā)布動(dòng)態(tài)的小功能,算是剛?cè)腴T(mén)吧。記錄一下學(xué)習(xí)過(guò)程。 一直學(xué)的都是前端方面的東西,最近對(duì)php有點(diǎn)感興趣,研究了一下以前項(xiàng)目中后臺(tái)的php文件,也看了點(diǎn)視頻,做了一個(gè)放微博發(fā)布動(dòng)態(tài)的小功能,算是剛?cè)腴T(mén)吧。記錄一下學(xué)習(xí)過(guò)程。歡迎php的大佬指導(dǎo)批評(píng)^_^ 代碼部分 // ...
摘要:一直學(xué)的都是前端方面的東西,最近對(duì)有點(diǎn)感興趣,研究了一下以前項(xiàng)目中后臺(tái)的文件,也看了點(diǎn)視頻,做了一個(gè)放微博發(fā)布動(dòng)態(tài)的小功能,算是剛?cè)腴T(mén)吧。記錄一下學(xué)習(xí)過(guò)程。 一直學(xué)的都是前端方面的東西,最近對(duì)php有點(diǎn)感興趣,研究了一下以前項(xiàng)目中后臺(tái)的php文件,也看了點(diǎn)視頻,做了一個(gè)放微博發(fā)布動(dòng)態(tài)的小功能,算是剛?cè)腴T(mén)吧。記錄一下學(xué)習(xí)過(guò)程。歡迎php的大佬指導(dǎo)批評(píng)^_^ 代碼部分 // ...
閱讀 3324·2021-11-16 11:45
閱讀 2672·2021-09-22 15:23
閱讀 576·2021-07-30 14:58
閱讀 471·2019-08-30 15:54
閱讀 2249·2019-08-29 16:19
閱讀 3028·2019-08-29 12:45
閱讀 951·2019-08-23 17:57
閱讀 1804·2019-08-23 17:54