摘要:一直學(xué)的都是前端方面的東西,最近對有點(diǎn)感興趣,研究了一下以前項(xiàng)目中后臺的文件,也看了點(diǎn)視頻,做了一個放微博發(fā)布動態(tài)的小功能,算是剛?cè)腴T吧。記錄一下學(xué)習(xí)過程。
一直學(xué)的都是前端方面的東西,最近對php有點(diǎn)感興趣,研究了一下以前項(xiàng)目中后臺的php文件,也看了點(diǎn)視頻,做了一個放微博發(fā)布動態(tài)的小功能,算是剛?cè)腴T吧。記錄一下學(xué)習(xí)過程。歡迎php的大佬指導(dǎo)批評^_^代碼部分
// 創(chuàng)建消息節(jié)點(diǎn) function createEle(id, txt, time, acc, ref) { var content = ""; $(".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); }) } }) } // 獲取時間 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
connect_error) { die("數(shù)據(jù)庫連接失敗".$con->connect_error); } else { // echo "數(shù)據(jù)庫連接成功"; } // 插入數(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ù)庫 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(); ?>
寫完之后才知道$con->query($sql)是老版本的寫法,現(xiàn)在的語法是mysqli_query($conn, $sql)。
最后加載數(shù)據(jù)庫,對把數(shù)據(jù)處理成數(shù)組對象,轉(zhuǎn)成json格式傳遞到前端,這里還是稍微糾結(jié)了一會兒,感覺寫的可讀性有點(diǎn)差……
2018-12-15 優(yōu)化更新
// 加載數(shù)據(jù)庫 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"; // } }
剛開始寫的時候不知道用什么方法返回結(jié)果集,用了fetch_assoc()方法獲取一行關(guān)聯(lián)數(shù)組,再array_push()進(jìn)一個空數(shù)組里。發(fā)現(xiàn)有mysqli_fetch_all()方法之后感覺自己愚蠢至極……直接用mysqli_fetch_all()處理結(jié)果集就行了,要加上MYSQLI_ASSOC使返回的是關(guān)聯(lián)數(shù)組,方便AJAX遍歷,否則返回的是沒有索引的數(shù)組格式。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/29810.html
摘要:一直學(xué)的都是前端方面的東西,最近對有點(diǎn)感興趣,研究了一下以前項(xiàng)目中后臺的文件,也看了點(diǎn)視頻,做了一個放微博發(fā)布動態(tài)的小功能,算是剛?cè)腴T吧。記錄一下學(xué)習(xí)過程。 一直學(xué)的都是前端方面的東西,最近對php有點(diǎn)感興趣,研究了一下以前項(xiàng)目中后臺的php文件,也看了點(diǎn)視頻,做了一個放微博發(fā)布動態(tài)的小功能,算是剛?cè)腴T吧。記錄一下學(xué)習(xí)過程。歡迎php的大佬指導(dǎo)批評^_^ 代碼部分 // ...
摘要:一直學(xué)的都是前端方面的東西,最近對有點(diǎn)感興趣,研究了一下以前項(xiàng)目中后臺的文件,也看了點(diǎn)視頻,做了一個放微博發(fā)布動態(tài)的小功能,算是剛?cè)腴T吧。記錄一下學(xué)習(xí)過程。 一直學(xué)的都是前端方面的東西,最近對php有點(diǎn)感興趣,研究了一下以前項(xiàng)目中后臺的php文件,也看了點(diǎn)視頻,做了一個放微博發(fā)布動態(tài)的小功能,算是剛?cè)腴T吧。記錄一下學(xué)習(xí)過程。歡迎php的大佬指導(dǎo)批評^_^ 代碼部分 // ...
閱讀 1664·2019-08-30 13:04
閱讀 2217·2019-08-30 12:59
閱讀 1777·2019-08-29 18:34
閱讀 1874·2019-08-29 17:31
閱讀 1266·2019-08-29 15:42
閱讀 3545·2019-08-29 15:37
閱讀 2866·2019-08-29 13:45
閱讀 2780·2019-08-26 13:57