基于bootstrap的订票系统(阶段总结)

做了挺久了。忘了记录了。

用的框架是express,数据库是mysql(navicat可视化操作)。

先是html和服务器的交互,再是服务器和mysql的交互,然后连到一起就行了。

我是找了一些demo,在用的过程中去了解具体的运作方式,由于毕设大限将至,没精力从头学起了。

npm,express,这些安装的时候感觉还是挺麻烦的。

demo里的结构,和其中文件的作用:

conf文件夹里的db.js,MySQL数据库连接配置

      module.exports = {
    mysql: {
        host: 'localhost', 
        user: 'root',
        password: '123456',
        database:'test', // 前面建的user表位于些数据库中
        port: 3306
    }
};


dao文件夹下的userDao.js我的理解是路由发出的命令在这里面执行,去操作数据库。

dao文件夹下的userSqlMapping.js这里是把一些sql语句放在这,在userDao.js里使用

public文件夹下有css,js,images三个文件夹,就是放html的css和js和图片的,在我这里的结构下,运行的时候,引用css直接"css/index.css"就行了。

routes文件夹下的index.js感觉就是路由的作用,指示操作的途径

view文件夹下的是模板,我的html文件是放在这里的。

下面有个流程,流程里为什么会这样的一些原因:

app.js里,

var routes = require('./routes/index');
...
app.use('/', routes);
所以地址里输入localhost:3001是index.js里的路径为“/”的html页面。


app.use(express.static(path.join(__dirname, 'public')));
这段代码使得使用public里的样式或者脚本可以直接css/index.css这个样子



一个简单的流程:

index.js里

		router.get('/', function(req, res, next) {
  			res.render('btn');
		});

那么地址里输入localhost:3001,出现的就是btn.html的页面。里面有个表单

		<form action="/search" method="post" id="first">
			<input type="text" name="start">
			<input type="text" name="end">
			<input type="date" name="date">
			<input type="submit" name="">
		</form>

点击了按钮后,因为action是search,所以执行了index.js里的以下代码

router.post('/search',function(req,res,next){
	if(!req.body) return res.sendStatus(400);
   	userDao.query3(req,res,next);
})

userDao.js文件中

var $sql = require('./userSqlMapping');
...
module.exports = {
   
    query3: function (req, res, next) {
  	var start = req.body.start;//表单里的input,name是start,会跟着表单提交到req中。传的数据很多,这里只是例子,就只用一个了
 	pool.getConnection(function(err, connection) {
            connection.query($sql.query3, start, function(err, result) {
                    res.render('test', { results:result });//数据库操作的结果在result中,传到test.html中
            });
        });
    }
    
};

userSqlMapping.js文件中,start是userDao里传过来的,这里查询的结果会返回到userDao那个result中

var user = {

    query3: 'select * from 车次信息表 where start=?'
};

module.exports = user;


test.html中,这个是模板中的循环,可以把result中的每一条查询信息都在表格中显示出来。

         <tbody> 

         <% results.forEach(function(result){%>
          <form action="/buy" method="get" id="second">
            <tr>
              <td name="no"><%=result.no %></td>
              <td><%=result.startTime %>-<%=result.endTime %></td> 
           <td><%=result.startPlace %>-<%=result.endPlace %></td> 
           <td><%=result.useTime %></td> 
           <td><%=result.price %></td> 
           <td><%=result.left %></td> 
           <td><button οnclick="submitForm()">购买</button></td> 
            </tr>
            </form>
            <% }) %>

         </tbody> 

大概就是这样了。有错误请指出,谢谢


基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统基于bootstrap的后台管理系统
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值