mirror of
https://github.com/wahyd4/wahyd4.github.com.git
synced 2026-08-10 05:47:00 +10:00
- 308 posts reverse-extracted from wahyd4.github.com (Hexo 6.3.0 + NexT 8.25) - Hexo project with NexT theme, reading-experience custom styles - publish-post.sh: write post -> hexo build -> PR (master untouched)
60 lines
2.0 KiB
Markdown
60 lines
2.0 KiB
Markdown
---
|
|
title: "一个Nodejs写的简易订饭程序"
|
|
date: 2012-07-11 00:00:00
|
|
tags: [mysql, expressjs, nodejs]
|
|
---
|
|
|
|
因为公司最近开始不统一订饭了,但是我那么点工资到下面食堂去吃,既贵也吃不好,其他那些没工资的实训的同学就更伤不起了。为了脱离机械式的让每个人在纸上写上自己的名字。我用nodejs写了一个简单的程序来完成在网上订饭的功能。用户只需要进入网址。即可以完成订饭。这个程序是用nodejs+mysql完成的。使用了nodejs的 express和mysql包
|
|
|
|
使用下面的命令即可安装:
|
|
|
|
```xml
|
|
npm install express
|
|
|
|
npm install mysql
|
|
```
|
|
|
|
下面就附上代码吧,只有50多行,当然功能也很简单,只有订饭和查询所有已订饭的功能:
|
|
|
|
```jscript
|
|
var express = require('express'),
|
|
mysql = require('mysql');
|
|
var app = express.createServer();
|
|
//create mysql client
|
|
var client = mysql.createClient({
|
|
user:'root',
|
|
password :'root'
|
|
});
|
|
//设置mysql属性
|
|
client.host ='127.0.0.1';
|
|
client.port = 3306;
|
|
client.database = 'orderfood';
|
|
//拦截地址
|
|
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
|
|
```
|
|
|
|
格式可能有点问题哈。
|