zoukankan      html  css  js  c++  java
  • Node.js Express博客项目实战 之新闻分类管理

    在新闻管理中分为新闻分类管理、新闻管理、评论管理

    分析新闻分类管理:

    新闻分类数据库的字段:

     对新闻分类有修改、删除、查看功能

    在该后台的首页新闻管理部分写入跳转的路由:

    <h2><span class="icon-user"></span>新闻管理</h2>
      <ul >
        <li><a href="/admin/type/" target="right"><span class="icon-caret-right"></span>新闻分类管理</a></li>
        <li><a href="/admin/news/" target="right"><span class="icon-caret-right"></span>新闻管理</a></li>
        <li><a href="/admin/comment/" target="right"><span class="icon-caret-right"></span>评论管理</a></li>
      </ul>   

    在后台路由中进行注册新闻分类路由:

    // 新闻分类管理
    let typeRouter = require('./admin/newtype.js');
    router.use('/type',typeRouter);

    在视图views中新建文件交type,写入加载的页面:

    newtype.js中分别写入加载的分类页面,添加功能,以及修改功能

    // 导入express
    const express = require("express");
    
    // 实例化router
    const router = express.Router();
    
    // 导入数据库相关内容
    const mysql = require("../../config/db.js");
    
    // 分类查看页面
    router.get("/",function(req,res,next){
            // 从数据库中查询相关数据
    
        mysql.query("select * from newstype order by sort desc",function(err,data){
            if (err) {
                return "";
            }else{
                // 加载页面
                res.render("admin/type/index.html",{data:data});
            }
        });
        
        
        
    });
    
    // 分类的添加页面
    router.get("/add",function(req,res,next){
        // 加载添加页面
        res.render("admin/type/add.html");
    });
    
    // 分类的添加操作
    router.post("/add",function(req,res,next){
        // 接收参数
        let {name,keywords,description,sort} = req.body;
    
        // 将数据插入到数据库中
        mysql.query("insert into newstype(name,keywords,description,sort) value(?,?,?,?)",[name,keywords,description,sort],function(err,data){
            // 判断是否错误
            if (err) {
                return "";
            }else{
                // 判断是否执行成功
                if (data.affectedRows==1) {
                    res.send("<script>alert('添加成功');location.href='/admin/type'</script>");
                }else{
                    res.send("<script>alert('添加失败');history.go(-1)</script>");
                }
            }
    
        })
    
    });
    
    // 分类的修改页面
    
    router.get('/edit',function(req,res,next){
        // 接受数据的ID
    
        let id = req.query.id;
    
        // 查询对应数据
        mysql.query("select * from newstype where id = "+id,function(err,data){
            // 判断
            if (err) {
                return "";
            }else{
                console.log(data);
                
                // 加载修改页面
                res.render("admin/type/edit.html",{data:data[0]});
            }
        })    
        
    //    res.send("管理员修改");
    });
    
    
    // 管理员数据修改功能
    router.post("/edit",function(req,res,next){
        // 接受表单提交的数据
        console.log(req.body);
        
    
    });
    
    
    
    
    
    module.exports = router;

    最终新闻分类的显示效果:

  • 相关阅读:
    js数组
    关于编程,程序员的一些语录
    css心得
    js函数
    一些电脑基础知识
    gnome3安装
    C学习小记
    ubuntu重装系统后
    elinks文字浏览器
    快捷方式
  • 原文地址:https://www.cnblogs.com/jiguiyan/p/11423383.html
Copyright © 2011-2022 走看看