# 一个Nodejs写的简易订饭程序 | 大染志
因为公司最近开始不统一订饭了，但是我那么点工资到下面食堂去吃，既贵也吃不好，其他那些没工资的实训的同学就更伤不起了。为了脱离机械式的让每个人在纸上写上自己的名字。我用nodejs写了一个简单的程序来完成在网上订饭的功能。用户只需要进入网址。即可以完成订饭。这个程序是用nodejs+mysql完成的。使用了nodejs的 express和mysql包 使用下面的命令即可安装： npm install

0%

# 一个Nodejs写的简易订饭程序

Posted on 2012-07-11 Edited on 2014-07-22 In node.js

因为公司最近开始不统一订饭了，但是我那么点工资到下面食堂去吃，既贵也吃不好，其他那些没工资的实训的同学就更伤不起了。为了脱离机械式的让每个人在纸上写上自己的名字。我用nodejs写了一个简单的程序来完成在网上订饭的功能。用户只需要进入网址。即可以完成订饭。这个程序是用nodejs+mysql完成的。使用了nodejs的 express和mysql包

使用下面的命令即可安装：

    npm install express

    npm install mysql

下面就附上代码吧，只有50多行，当然功能也很简单，只有订饭和查询所有已订饭的功能：

    <p style="padding-left: 30px;">var express = require('express'),
     mysql = require('mysql');
    var app = express.createServer();</p>
    <p style="padding-left: 30px;">//create mysql client
    var client = mysql.createClient({
     user:'root',
     password :'root'
    });
    //设置mysql属性
    client.host ='127.0.0.1';
    client.port = 3306;
    client.database = 'orderfood';</p>
    <p style="padding-left: 30px;">//拦截地址
    app.get('/add/:name',function(req,res){
     var name = req.params.name;

     res.charset = 'utf-8';
     //查询数据库中是否已经有该用户的记录
     client.query('select * from orders where name= ?',[name],function(err,results,fields){
     if(err) throw err;
     //阻止用户多次提交
     if(results[0]!==undefined){
     res.send('哈哈，'+results[0].name+'小子！你想重复提交吗？没门！！\n');
     return ;
     }else{
     //将数据存入数据库中
     client.query('insert into orders(name) values(?)',[name],function(err,results,fileds){
     if(err) throw err;
     console.log("你的名字为"+name);
     res.write("恭喜你订餐成功！你的名字为"+name +"\n");
     });
     client.query('select * from orders',function(err,results,fileds){
     if(err) throw err;
     if(results[0]!==undefined){
     var count=0;
     res.write("=================已定名单====================\n");
     for(var i=0;i<results.length;i++){
     res.write("姓名："+results[i].name+"————————————订饭时间："+results[i].time+"\n");
     res.write('\n');
     count++;
     }
     res.write("*****************已订饭人数为："+count+"********************");
     res.end();
     return ;
     }
     res.send("已订名单为空！\n");
     });
     }
     });
     });
    //设置404页面
    app.get('*', function(req, res){
     res.send('小样 ，出错了！！我来自node.js哦', 404);
    });
    //监听3000端口
    app.listen(80);
    console.log("server listen on port 80");</p>

格式可能有点问题哈。