资讯专栏INFORMATION COLUMN

仿微博发布动态,php入门学习笔记

Lsnsh / 699人阅读

摘要:一直学的都是前端方面的东西,最近对有点感兴趣,研究了一下以前项目中后台的文件,也看了点视频,做了一个放微博发布动态的小功能,算是刚入门吧。记录一下学习过程。

</>复制代码

  1. 一直学的都是前端方面的东西,最近对php有点感兴趣,研究了一下以前项目中后台的php文件,也看了点视频,做了一个放微博发布动态的小功能,算是刚入门吧。记录一下学习过程。欢迎php的大佬指导批评^_^
代码部分

</>复制代码

  1. // 创建消息节点
  2. function createEle(id, txt, time, acc, ref) {
  3. var content = "
    "+
  4. "

    "+ txt +"

    "+
  5. "
    "+
  6. ""+ time +""+
  7. ""+
  8. ""+ acc +""+
  9. ""+ ref +""+
  10. "删除"+
  11. ""+
  12. ""+
  13. "";
  14. $(".create").prepend(content);
  15. }
  16. // 初始加载
  17. init();
  18. function init() {
  19. $.ajax({
  20. type: "POST",
  21. url: "weibo.php",
  22. data: "act=update",
  23. success: function (res) {
  24. var data = JSON.parse(res);
  25. $(data).each(function (index, value) {
  26. createEle(data[index].id, data[index].content, data[index].uptime, data[index].acc, data[index].ref);
  27. })
  28. }
  29. })
  30. }
  31. // 获取时间
  32. function time() {
  33. var data = new Date();
  34. function change(val) {
  35. if (val < 10) {
  36. return "0" + val;
  37. } else {
  38. return val;
  39. }
  40. }
  41. var arr = [data.getMonth() + 1 + "月", data.getDay() + "日 ", data.getHours() + ":", change(data.getMinutes()) + ":", change(data.getSeconds())];
  42. return arr.join("");
  43. }
  44. // 发送 创建
  45. $("#send").click(function () {
  46. if ($("#text").val()) {
  47. var txt = $("#text").val();
  48. $.ajax({
  49. type: "POST",
  50. url: "weibo.php",
  51. data: "act=add&content="+txt+"&time="+time(),
  52. success: function(res){
  53. var mul = 0;
  54. var data = JSON.parse(res);
  55. createEle(data[data.length - 1].id, txt, time(), 0, 0);
  56. }
  57. });
  58. } else {
  59. alert("输入不能为空");
  60. }
  61. });
  62. // 删除
  63. $("body").on("click", ".inferDel", function () {
  64. $(this).parents(".infer").remove();
  65. $.ajax({
  66. type: "POST",
  67. url: "weibo.php",
  68. data: "act=del&id="+$(this).parents(".infer").attr("data-set"),
  69. success: function(res){
  70. }
  71. });
  72. })
  73. // 点赞
  74. $("body").on("click", ".up", function () {
  75. $(this).html(parseInt($(this).html()) + 1);
  76. $.ajax({
  77. type: "POST",
  78. url: "weibo.php",
  79. data: "act=acc&id="+$(this).parents(".infer").attr("data-set")+"&acc="+$(this).html(),
  80. success: function(res){
  81. }
  82. });
  83. })
  84. // 踩点
  85. $("body").on("click", ".down", function () {
  86. $(this).html(parseInt($(this).html()) + 1);
  87. $.ajax({
  88. type: "POST",
  89. url: "weibo.php",
  90. data: "act=ref&id="+$(this).parents(".infer").attr("data-set")+"&ref="+$(this).html(),
  91. success: function(res){
  92. }
  93. });
  94. })
php

</>复制代码

  1. connect_error) {
  2. die("数据库连接失败".$con->connect_error);
  3. } else {
  4. // echo "数据库连接成功";
  5. }
  6. // 插入数据
  7. if ($_POST["act"]=="add") {
  8. $txt = $_POST["content"];
  9. $time = $_POST["time"];
  10. // echo $time;
  11. $sql = "INSERT INTO weibo (content, uptime) VALUES ("$txt", "$time")";
  12. $con->query($sql);
  13. $sql2 = "SELECT * FROM weibo";
  14. $result = $con->query($sql2);
  15. if ($result) {
  16. $test = array();
  17. while($row = $result->fetch_assoc()) {
  18. $info = array("id" => $row["id"], "content" => $row["content"], "uptime" => $row["uptime"], "acc" => $row["acc"], "ref" => $row["ref"]);
  19. array_push($test, $info);
  20. }
  21. echo json_encode($test);
  22. } else {
  23. echo "Error";
  24. }
  25. // if ($con->query($sql)) {
  26. // echo mysqli_insert_id($con);
  27. // } else {
  28. // echo "Error";
  29. // }
  30. }
  31. // 删除数据
  32. if ($_POST["act"]=="del") {
  33. $id = $_POST["id"];
  34. $sql = "DELETE FROM weibo WHERE id = "$id"";
  35. $con->query($sql);
  36. }
  37. // 点赞数据
  38. if ($_POST["act"]=="acc") {
  39. $id = $_POST["id"];
  40. $acc = $_POST["acc"];
  41. $sql = "UPDATE weibo SET acc = "$acc" WHERE id = "$id"";
  42. $con->query($sql);
  43. }
  44. // 踩点数据
  45. if ($_POST["act"]=="ref") {
  46. $id = $_POST["id"];
  47. $ref = $_POST["ref"];
  48. $sql = "UPDATE weibo SET ref = "$ref" WHERE id = "$id"";
  49. $con->query($sql);
  50. }
  51. // 加载数据库
  52. if ($_POST["act"]=="update") {
  53. $sql = "SELECT * FROM weibo";
  54. $result = $con->query($sql);
  55. if ($result) {
  56. $test = array();
  57. while($row = $result->fetch_assoc()) {
  58. $info = array("id" => $row["id"], "content" => $row["content"], "uptime" => $row["uptime"], "acc" => $row["acc"], "ref" => $row["ref"]);
  59. array_push($test, $info);
  60. }
  61. echo json_encode($test);
  62. } else {
  63. echo "Error";
  64. }
  65. }
  66. $con->close();
  67. ?>

写完之后才知道$con->query($sql)是老版本的写法,现在的语法是mysqli_query($conn, $sql)。
最后加载数据库,对把数据处理成数组对象,转成json格式传递到前端,这里还是稍微纠结了一会儿,感觉写的可读性有点差……

</>复制代码

  1. 2018-12-15 优化更新

</>复制代码

  1. // 加载数据库
  2. if ($_POST["act"]=="update") {
  3. $sql = "SELECT * FROM weibo";
  4. $result = mysqli_query($con, $sql);
  5. // if ($result) {
  6. $info = mysqli_fetch_all($result, MYSQLI_ASSOC);
  7. echo json_encode($info, JSON_UNESCAPED_UNICODE);
  8. // $test = array();
  9. // while($row = $result->fetch_assoc()) {
  10. // array_push($test, $row);
  11. // }
  12. // echo json_encode($test, JSON_UNESCAPED_UNICODE);
  13. // echo json_encode($test);
  14. // } else {
  15. // echo "Error";
  16. // }
  17. }

刚开始写的时候不知道用什么方法返回结果集,用了fetch_assoc()方法获取一行关联数组,再array_push()进一个空数组里。发现有mysqli_fetch_all()方法之后感觉自己愚蠢至极……直接用mysqli_fetch_all()处理结果集就行了,要加上MYSQLI_ASSOC使返回的是关联数组,方便AJAX遍历,否则返回的是没有索引的数组格式。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/29810.html

相关文章

  • 仿微博发布动态php入门学习笔记

    摘要:一直学的都是前端方面的东西,最近对有点感兴趣,研究了一下以前项目中后台的文件,也看了点视频,做了一个放微博发布动态的小功能,算是刚入门吧。记录一下学习过程。 一直学的都是前端方面的东西,最近对php有点感兴趣,研究了一下以前项目中后台的php文件,也看了点视频,做了一个放微博发布动态的小功能,算是刚入门吧。记录一下学习过程。欢迎php的大佬指导批评^_^ 代码部分 // ...

    yuanzhanghu 评论0 收藏0
  • 仿微博发布动态php入门学习笔记

    摘要:一直学的都是前端方面的东西,最近对有点感兴趣,研究了一下以前项目中后台的文件,也看了点视频,做了一个放微博发布动态的小功能,算是刚入门吧。记录一下学习过程。 一直学的都是前端方面的东西,最近对php有点感兴趣,研究了一下以前项目中后台的php文件,也看了点视频,做了一个放微博发布动态的小功能,算是刚入门吧。记录一下学习过程。欢迎php的大佬指导批评^_^ 代码部分 // ...

    Kaede 评论0 收藏0

发表评论

0条评论

Lsnsh

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<