大染志


一个程序员,正在学习和体验创业,热爱互联网,喜欢尝试新鲜事物,同时还喜欢拍照和旅游。


一个Nodejs写的简易订饭程序

因为公司最近开始不统一订饭了,但是我那么点工资到下面食堂去吃,既贵也吃不好,其他那些没工资的实训的同学就更伤不起了。为了脱离机械式的让每个人在纸上写上自己的名字。我用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>

格式可能有点问题哈。

comments powered by Disqus