php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)


Posted in PHP onJune 11, 2017

在上一篇随笔中已经将如何发布动态呈现了,那么现在来看一下剩下的评论动态、回复评论、删除动态和评论功能,这几个功能会有点绕~~~

一、思路如下:

(1)你发表动态之后,会有人评论这一条动态,当评论之后,你也会回复该评论;(此处评论要单独一张表,回复也要单独一张表)

(2)删除动态:会将动态连同评论、回复全部删除;删除评论:只会删除该条评论

二、在写代码之前,我还是想把流程说一遍:

(1)发表动态---评论---回复---再回复

(2)将上边的流程细化,我先在纸上写出,再上传,码字不能表达清楚(注意的是,我想要的功能的实现,并不是一模一样的哈)

php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)

php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)

三、还是先将代码分块解释,最后将主页面代码完全附上(含上一篇)

在上一篇中已经实现发布动态、弹出评论框,那么现在接着向下走:

分别看一下qqfriends,qqdongtai,qqpinglun,qqhuifu表,这是初始状态:

php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)

php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)

php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)

php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)

先以用户李四登录,由数据库qqfriends表中知道,李四的好友是zhangsan, 和zhaoliu,那么他的空间中显示的好友动态如下:

php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)

php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)

与上一篇相比,在这一篇中,谁登录的我用中文显示的:

<?php
   session_start();
   $uid = "";
   if(empty($_SESSION["uid"]))
   {
    header("location:login.php");
    exit;
   }
   $uid = $_SESSION["uid"];
   require "../DB.class.php";
   $db = new DB();
   $sql = "select name from qqusers where uid='{$uid}'";
   $name = $db->strquery($sql);
   echo "欢迎:"."<span class='qid' yh='{$uid}'>{$name}</span>";
   ?>

第一步:评论

1、评论张三的动态,点击“确定”后,就是第二张图了~

php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)

2、并将评论的内容写进数据库

//定义空字符串,容纳评论的id  
  var code=""; 
 $(".pl").click(function(){     
    code = $(this).attr("code"); //将评论的id重新赋值                 
    }) 
//将评论写进数据库 
$("#tjpl").click(function(){
  var plnr = $(".pldt").val();
  var plid = code; //取发动态的id
  $.ajax({
  url:"pl-cl.php",
  data:{plnr:plnr,plid:plid},
  type:"POST",
  dataType:"TEXT",
  success:function(data){
   alert("评论成功!");
   window.location.href="main.php" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ;
  }      
  });            
 })

pl-cl.php页面<br><br>

<?php
require "../DB.class.php";
$db = new DB();
session_start();
$uid = $_SESSION["uid"];
$plnr = $_POST["plnr"];
$dtid = $_POST["plid"];
$time = date("Y-m-d H:i:s", time());
$sql = "insert into qqpinglun values ('','{$dtid}','{$uid}','{$plnr}','{$time}')";
$db->query($sql,0);
?>

查看qqpinglun表中是不是多了这一条 “为什么开心呢?”:

php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)

3、读取评论内容:

<!--读取评论内容--> 
<div id="dqpl">
<?php
 $sql = "select * from qqpinglun";
 $arr = $db->query($sql);
 foreach($arr as $v)
 {
  $sql = "select * from qqdongtai where dtid='{$v[1]}'";
  $arr2 = $db->query($sql);
  foreach($arr2 as $m)
  {
   //取发动态的姓名
   $sql = "select name from qqusers where uid='{$v[2]}'";
   $name = $db->strquery($sql);
   //若果是登录者评论则显示“我”
   if($v[2]==$uid)
   {
    $name ="我";
   }
   //获取被评论者的姓名
   $sql = "select name from qqusers where uid=(select uid from qqdongtai where dtid='{$v[1]}')";
   $bpl = $db->strquery($sql);
   echo "<div class='a'><span class='xm'>{$name}</span>评论<span class='xm'>{$bpl}</span>的动态:{$m[2]}<div>
    <div class='b'>{$v[3]}</div>
   <div class='c'>发表评论时间:{$v[4]}</div>
   <div class='d'><button class='btn btn-primary hf' ids ='{$v[0]}'>回复
   </button><span><a href='scpl-cl.php?code={$v[0]}'>删除评论</a></span></div>";
  }
 }  
?>    
</div>

第二步:回复

1、回复刚刚的评论:

2、将回复内容写进数据库

//定义空字符串,容纳回复评论的id  
    var ids=""; 
    $(".hf").click(function(){     
       ids = $(this).attr("ids"); //将评论的id重新赋值  
//       alert((ids)); 
       $('#mM').modal('show');              
       }) 
   //将回复评论写进数据库 
   $("#tjhf").click(function(){
     var hfnr = $(".hfpl").val();
//     alert(hfnr);
//     alert(ids);
     $.ajax({
     url:"hf-cl.php",
     data:{hfnr:hfnr,ids:ids},
     type:"POST",
     dataType:"TEXT",
     success:function(data){
     alert("回复成功!");
    window.location.href="main.php" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ;
     }      
     });            
    })

 hf-cl.php页面

<?phprequire "../DB.class.php";
$db = new DB();
session_start();
$uid = $_SESSION["uid"];
$hfnr = $_POST["hfnr"];
$cid = $_POST["ids"];
$time = date("Y-m-d H:i:s", time());
$sql = "insert into qqhuifu values ('','{$cid}','{$uid}','{$hfnr}','{$time}')";
$db->query($sql,0);
?>

 查看qqhuifu表,是不是多了一行呢?

php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)

3、将回复内容读出:

<div id="dqhf"> 
     <!--取一次回复-->
    <?php
    $sql = "select * from qqhuifu where cid in (select cid from qqpinglun)";
    $arr = $db->query($sql);
    foreach($arr as $a)
    {
     $sql = "select * from qqpinglun where cid='{$a[1]}'";
     $arr2 = $db->query($sql);
     foreach($arr2 as $n)
     {
      //取评论动态的姓名
      $sql = "select name from qqusers where uid='{$a[2]}'";
      $name = $db->strquery($sql);
      //若果是登录者评论则显示“我”
      if($a[2]==$uid)
      {
       $name ="我";
      }
      //获取被回复评论的姓名
      $sql = "select name from qqusers where uid=(select uid from qqpinglun where cid='{$a[1]}')";
      $bpl = $db->strquery($sql);
      echo "<div class='a'><span class='xm'>{$name}</span>回复<span class='xm'>{$bpl}</span>的评论:{$n[3]}<div>
       <div class='b'>{$a[3]}</div>
      <div class='c'>回复时间:{$a[4]}</div>
      <div class='d'><button class='btn btn-primary hf' ids ='{$a[0]}'>回复
      </button><span><a href='schf-cl.php?code={$a[0]}'>删除回复</a></span></div>"; 
     }
     }
    ?>
   </div>

回复内容已经显示了:

php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)

第三步:删除

1、删除动态:(含评论和回复)

scdt-cl.php

<?php
$code = $_GET["code"];
require "../DB.class.php";
$db = new DB();
$sql = "delete from qqdongtai where dtid='{$code}'";
$db->query($sql,0);
$sql2 = "delete from qqpinglun where dtid='{$code}'";
$db->query($sql2,0);
$sql3 = "delete from qqhuifu where cid=(select cid from qqpinglun where dtid='{$code}')";
$db->query($sql3,0);
header("location:main.php");
?>

2、删除评论:(含回复)

scpl-cl.php

<?php
$code = $_GET["code"];
require "../DB.class.php";
$db = new DB();
$sql2 = "delete from qqpinglun where cid='{$code}'";
$db->query($sql2,0);
$sql3 = "delete from qqhuifu where cid='{$code}'";
$db->query($sql3,0);
header("location:main.php");
?>

3、删除回复:(只自己)

schf-cl.php

<?php
$code = $_GET["code"];
require "../DB.class.php";
$db = new DB();
$sql2 = "delete from qqpinglun where cid='{$code}'";
$db->query($sql2,0);
$sql3 = "delete from qqhuifu where cid='{$code}'";
$db->query($sql3,0);
header("location:main.php");
?>

 关于删除就不依次试了~~~注意包含关系就好了

主页面全部代码:

<!DOCTYPE html>
<html> 
 <head>
  <meta charset="UTF-8">
  <title></title>
   <!--引入bootstrap的css文件-->
  <link type="text/css" rel="stylesheet" href="../bootstrap-3.3.7-dist/css/bootstrap.min.css" rel="external nofollow" />
  <!--引入js包-->
  <script src="../jquery-3.2.0.js"></script>
  <!--引入bootstrap的js文件-->
  <script src="../bootstrap-3.3.7-dist/js/bootstrap.min.js"></script>
  <style>
   #body{
    height: auto;
    width: 1000px;
    margin: 0px auto;
   }
   #xdt{
    height: 200px;
    width:1000px; 
    border: 1px solid cadetblue;
    }
    /*动态和评论div*/
    .fdt{
    position: relative;  
    width: 1000px;
    }
    /*读取内容div*/
     #nr{
     width: 1000px;
     }
    /*谁发表动态样式*/
    .a{
    float: left;
    min-height:40px;
    width: 1000px;
    background-color: goldenrod;
    }
    /*姓名*/
    .xm{
    font-size: 18px;
    color: brown;
    font-weight: bold;
    }
    /*发表动态样式内容*/
    .b{
    float: left;
    text-align: left;
    height:100px;
    line-height: 50px;
    width: 100%;
    background-color: greenyellow;
    }
    /*发表时间与回复删除样式*/
    .c{
    height:30px;
    width: 800px;
    float: left;
    font-size: 12px;
    text-align:right;
    background-color: gainsboro;
     }
     /*弹出模态框评论框*/
    .d{
    height:30px;
    width: 200px;
    float: left;
    font-size: 15px;
    text-align:center;
    background-color: gainsboro;
     }
     /*读取评论div*/
     #dqpl{
     width: 1000px;
     }
    #dqhf
    {
     width: 1000px;
     }
  </style>     
 </head>
 <body>
  <div id="body">
  <?php
   session_start();
   $uid = "";
   if(empty($_SESSION["uid"]))
   {
    header("location:login.php");
    exit;
   }
   $uid = $_SESSION["uid"];
   require "../DB.class.php";
   $db = new DB();
   $sql = "select name from qqusers where uid='{$uid}'";
   $name = $db->strquery($sql);
   //这种方法可以取到uid。
   echo "欢迎:"."<span class='qid' yh='{$uid}'>{$name}</span>";
   ?>
  <!--写动态-->
  <div id="xdt">
   <p>发表动态:</p>
   <textarea cols="100px" rows="5px" name="xdt" class="xdt"></textarea>
   <input type="submit" value="发表" id="fb" />  
  </div>
  <!--动态内容结束-->
  <!--容纳动态内容--> 
  <div class="fdt">
   <p style="color: brown; font-family: '微软雅黑';font-weight: bold;font-size: 20px; margin-bottom: 20px; margin-top: 20px;">朋友动态:<p>
   <!--读取动态内容-->
   <div id="nr">
    <?php
    $date = date ("Y-m-d H:i:s");
    $sql = "select * from qqdongtai where uid='{$uid}' or uid in (select uid from qqfriends where fname =(select name from qqusers where uid='{$uid}')) order by time desc";
    //echo $sql;
    $arr = $db->query($sql);
//    var_dump($arr);
    foreach($arr as $v)
    {
     $sql = "select name from qqusers where uid='{$v[1]}'";
     $name = $db->strquery($sql);
     if($v[1]==$uid)
     {
      $name = "我";
     }
     echo "<div class='a'><span class='xm'>{$name}</span>发表动态:</div>
     <div class='b'>{$v[2]}</div>
     <div class='c'>发表动态时间:{$v[3]}</div>
     <div class='d'><button class='btn btn-primary pl' data-toggle='modal' data-target='#myModal' code ='$v[0]'>评论</button>
      <span><a href='scdt-cl.php?code={$v[0]}'>删除动态</a></span></div>";
    }
    ?>
   </div>   
     <!--读取评论内容--> 
   <div id="dqpl">
   <?php
    $sql = "select * from qqpinglun";
    $arr = $db->query($sql);
    foreach($arr as $v)
    {
     $sql = "select * from qqdongtai where dtid='{$v[1]}'";
     $arr2 = $db->query($sql);
     foreach($arr2 as $m)
     {
      //取发动态的姓名
      $sql = "select name from qqusers where uid='{$v[2]}'";
      $name = $db->strquery($sql);
      //若果是登录者评论则显示“我”
      if($v[2]==$uid)
      {
       $name ="我";
      }
      //获取被评论者的姓名
      $sql = "select name from qqusers where uid=(select uid from qqdongtai where dtid='{$v[1]}')";
      $bpl = $db->strquery($sql);
      echo "<div class='a'><span class='xm'>{$name}</span>评论<span class='xm'>{$bpl}</span>的动态:{$m[2]}<div>
       <div class='b'>{$v[3]}</div>
      <div class='c'>发表评论时间:{$v[4]}</div>
      <div class='d'><button class='btn btn-primary hf' ids ='{$v[0]}'>回复
      </button><span><a href='scpl-cl.php?code={$v[0]}'>删除评论</a></span></div>";
     }
    }  
   ?>    
   </div>
   <!--读取回复的内容--> 
   <div id="dqhf"> 
    <?php
    $sql = "select * from qqhuifu where cid in (select cid from qqpinglun)";
    $arr = $db->query($sql);
//    var_dump($arr);
    foreach($arr as $a)
    {
     $sql = "select * from qqpinglun where cid='{$a[1]}'";
     $arr2 = $db->query($sql);
//     var_dump($arr2);
     foreach($arr2 as $n)
     {
      //取评论动态的姓名
      $sql = "select name from qqusers where uid='{$a[2]}'";
      $name = $db->strquery($sql);
      //若果是登录者评论则显示“我”
      if($a[2]==$uid)
      {
       $name ="我";
      }
      //获取被回复评论的姓名
      $sql = "select name from qqusers where uid=(select uid from qqpinglun where cid='{$a[1]}')";
      $bpl = $db->strquery($sql);
      echo "<div class='a'><span class='xm'>{$name}</span>回复<span class='xm'>{$bpl}</span>的评论:{$n[3]}<div>
       <div class='b'>{$a[3]}</div>
      <div class='c'>回复时间:{$a[4]}</div>
      <div class='d'><button class='btn btn-primary hf' ids ='{$a[0]}'>回复
      </button><span><a href='schf-cl.php?code={$a[0]}'>删除回复</a></span></div>"; 
     }
     }
    ?>
   </div>
  </div>
  <!-- 评论模态框(Modal) -->
   <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog">
     <div class="modal-content">
      <div class="modal-header">
       <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
       <h4 class="modal-title" id="myModalLabel">评论</h4>
      </div>
      <textarea class="modal-body pldt" cols="80px"></textarea>
      <div class="modal-footer">
       <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
       <button type="button" class="btn btn-primary" id="tjpl">提交评论</button>
      </div>
     </div>
    </div>
   </div> 
   <!--模态框结束-->    
  <!-- 回复模态框(Modal) -->
   <div class="modal fade" id="mM" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog">
     <div class="modal-content">
      <div class="modal-header">
       <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
       <h4 class="modal-title" id="myModalLabel">回复</h4>
      </div>
      <textarea class="modal-body hfpl" cols="80px"></textarea>
      <div class="modal-footer">
       <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
       <button type="button" class="btn btn-primary" id="tjhf">提交回复</button>
      </div>
     </div>
    </div>
   </div> 
   <!--模态框结束--> 
  </div> 
 </body>
</html>
   <script>
//ajax方法:刷新页面时将内容读取出来,并按发表时间读出来
//    $.ajax({
//     url:"sx-cl.php",
//     dataType:"TEXT",
//     success:function(data){
//      var hang = data.trim().split("|");
//      var str="";
//      for(var i=0;i<hang.length;i++)
//      {
//       var lie = hang[i].split("^");        
//        str = str + "<div class='a'><span class='xm'>"+lie[1]+"</span>发表动态:</div><div class='b'><p>"+lie[2]+"</p><div class='c'>发表动态时间:"+lie[3]+"</div>";              
//       str =str+"<div id='d'><button class='btn btn-primary pl' data-toggle='modal' data-target='#myModal' code ='"+lie[0]+"'>评论</button><span><a href='del.php?code="+lie[0]+"'>删除动态</a></span></div>";
//      }
//      $("#nr").html(str);
//     //点击“评论按钮”实现将code值传到模态框的“提交按钮”
//     //为什么放在此处:因为ajax是异步的,如果不放在此处会加不上点击事件
//       $(".pl").click(function(){
//        code = $(this).attr("code"); //将评论的id重新赋值             
//       })     
//     } 
//    }); 
//    
//php方法: 当发表动态时,将动态内容写进数据库,并刷新页面
    $("#fb").click(function(){
    var dt= $(".xdt").val();
    var uid = $(".qid").attr("yh");
    $.ajax({
     url:"main-cl.php",
     data:{dt:dt},
     type:"POST",
     dataType:"TEXT",
     success:function(data){
      alert("发表动态成功!");
      window.location.href="main.php" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ;
     } 
    });
    }) 
    //定义空字符串,容纳评论的id  
     var code=""; 
    $(".pl").click(function(){     
       code = $(this).attr("code"); //将评论的id重新赋值                 
       }) 
   //将评论写进数据库 
   $("#tjpl").click(function(){
     var plnr = $(".pldt").val();
     var plid = code; //取发动态的id
//    alert(plnr);
//    alert(plid); 
     $.ajax({
     url:"pl-cl.php",
     data:{plnr:plnr,plid:plid},
     type:"POST",
     dataType:"TEXT",
     success:function(data){
      alert("评论成功!");
      window.location.href="main.php" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ;
     }      
     });            
    }) 
   //定义空字符串,容纳回复评论的id  
    var ids=""; 
    $(".hf").click(function(){     
       ids = $(this).attr("ids"); //将评论的id重新赋值  
//       alert((ids)); 
       $('#mM').modal('show');              
       }) 
   //将回复评论写进数据库 
   $("#tjhf").click(function(){
     var hfnr = $(".hfpl").val();
//     alert(hfnr);
//     alert(ids);
     $.ajax({
     url:"hf-cl.php",
     data:{hfnr:hfnr,ids:ids},
     type:"POST",
     dataType:"TEXT",
     success:function(data){
     alert("回复成功!");
    window.location.href="main.php" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ;
     }      
     });            
    }) 
 </script>

到此处为止,动态的发布、动态的评论、动态的回复、动态的删除都已经写完了,但是有个问题还还还没解决完,也就是回复的回复问题。请看下面的简图:

也就是回复表中有一部分是回复的评论,而剩余的部分则是回复的回复(有点绕)想看的就继续关注(下)未完待续~~~

 php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)

先总结一下遇到的问题:

(1)为什么ajax输出的button添加不上点击事件?

     因为ajax是异步ajax,所以要紧接其后。

(2)为什么取不到button的值------this

(3)一个php页面中,什么时候用ajax?什么时候用php?

    在这个实例中,我用ajax将数据写进数据库;用php从数据库读取内容。(上一篇中,动态是用ajax读取的,在这一篇中,两种方法都有,详情请看全部代码)

(4)最后,逻辑清晰很关键,尤其是表与表之间的关联。

PHP 相关文章推荐
PHP垃圾回收机制简单说明
Jul 22 PHP
深入Memcache的Session数据的多服务器共享详解
Jun 13 PHP
PHP实现根据浏览器跳转不同语言页面代码
Aug 02 PHP
windows7下安装php的php-ssh2扩展教程
Jul 04 PHP
PHP比你想象的好得多
Nov 27 PHP
Yii框架获取当前controlle和action对应id的方法
Dec 03 PHP
PHP也能干大事之PHP中的编码解码详解
Apr 20 PHP
php获取错误信息的方法
Jul 17 PHP
php支持断点续传、分块下载的类
May 02 PHP
PHP中函数gzuncompress无法使用的解决方法
Mar 02 PHP
PHP递归删除多维数组中的某个值
Apr 17 PHP
PHP实现图片的等比缩放和Logo水印功能示例
May 04 PHP
PHP中error_reporting函数用法详细介绍
Jun 11 #PHP
详解PHP处理字符串类似indexof的方法函数
Jun 11 #PHP
PHP获取文件扩展名的方法实例总结
Jun 10 #PHP
PHP获取数组中单列值的方法
Jun 10 #PHP
PHP实现将多个文件中的内容合并为新文件的方法示例
Jun 10 #PHP
老生常谈php中传统验证与thinkphp框架(必看篇)
Jun 10 #PHP
全面解析PHP面向对象的三大特征
Jun 10 #PHP
You might like
php读取XML的常见方法实例总结
2017/04/25 PHP
Javascript 面向对象编程(coolshell)
2012/03/18 Javascript
javascript针对DOM的应用实例(一)
2012/04/15 Javascript
jquery getScript动态加载JS方法改进详解
2012/11/15 Javascript
Jquery 例外被抛出且未被接住原因介绍
2013/09/04 Javascript
jquery中的过滤操作详细解析
2013/12/02 Javascript
详解数组Array.sort()排序的方法
2020/05/09 Javascript
js中DOM三级列表(代码分享)
2017/03/20 Javascript
详谈Angular 2+ 的表单(一)之模板驱动型表单
2017/04/25 Javascript
解决js相同的正则多次调用test()返回的值却不同的问题
2018/10/10 Javascript
vue滚动固定顶部及修改样式的实例代码
2019/05/30 Javascript
Node.js安装详细步骤教程(Windows版)详解
2019/09/01 Javascript
JavaScript实现省市区三级联动
2020/02/13 Javascript
JavaScript实现随机点名程序
2020/03/25 Javascript
uni-app如何页面传参数的几种方法总结
2020/04/28 Javascript
理解Python中的With语句
2015/02/02 Python
使用python os模块复制文件到指定文件夹的方法
2019/08/22 Python
Python编程快速上手——PDF文件操作案例分析
2020/02/28 Python
keras 简单 lstm实例(基于one-hot编码)
2020/07/02 Python
Python读取多列数据以及用matplotlib制作图表方法实例
2020/09/23 Python
15个应该掌握的Jupyter Notebook使用技巧(小结)
2020/09/23 Python
python3 os进行嵌套操作的实例讲解
2020/11/19 Python
Python3.9最新版下载与安装图文教程详解(Windows系统为例)
2020/11/28 Python
CSS3中使用RGBa来调节透明度的教程
2016/05/09 HTML / CSS
css3 盒模型以及box-sizing属性全面了解
2016/09/20 HTML / CSS
仿酷狗html5手机音乐播放器主要部分代码
2013/05/15 HTML / CSS
linux面试题参考答案(6)
2016/06/23 面试题
代理协议书范本
2014/04/22 职场文书
旅游活动总结
2014/08/27 职场文书
社区党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
高三化学教学反思
2016/02/22 职场文书
解决mysql:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO/YES)
2021/06/26 MySQL
postgresql使用filter进行多维度聚合的解决方法
2021/07/16 PostgreSQL
MySQL学习之基础操作总结
2022/03/19 MySQL
什么是SOLID
2022/03/24 Javascript
mysql 体系结构和存储引擎介绍
2022/05/06 MySQL