简单的php员⼯信息表格代码,实现员⼯信息表展⽰功能README:
1. 员⼯信息表程序,实现增删改查操作:
1).可进⾏模糊查询,语法⾄少⽀持下⾯3种:
select name,age from staff_table where age > 22
select * from staff_table where dept = “IT”
select * from staff_table where enroll_date like “2013”
最后显⽰有查到的条数
2).可创建新员⼯纪录,以phone做唯⼀键,staff_id需⾃增
3).可删除指定员⼯信息纪录,输⼊员⼯id,即可删除
4).可修改员⼯信息,语法如下:
UPDATE staff_table SET dept=”Market” WHERE dept = “IT”
表格网站php源码
流程图:
代码:
# coding:utf8import sysimport redef select(staff, field):
cmd = input("cmd>").strip()
cmd = place('FROM', 'from')
cmd = place('WHERE', 'where')if '*' in cmd:for i in field.keys():
sys.stdout.write(str(i) + ' ')print('')for line in staff:
info_list = re.split(r',+', line.strip('n'))
cmd_list = re.split(r'[ ,;]+', cmd)
f_index = cmd_list.index('from')
search_field = cmd_list[1:f_index]
from_field = cmd_list[f_index + 1]if from_field != 'staff_table':print('33[31;1mplease select `staff_table`...33[0m')breakif 'where' not in cmd_list:# 不存在where条件,显⽰所有view_list = []for i in range(len(search_field)):if search_field[i] == '*':
view_list = info_list[:]else:
view_list.append(info_(search_field[i])])else:print(','.join(view_list))else:# 存在where条件w_index =
cmd_list.index('where')
where_str = ''.join(cmd_list[w_index + 1:])if re.search(r'like', where_str):
sizeof = 'like'where_list = re.split(r'like', where_str)else:
sizeof = re.search(r'[=>, ':
v = info_(where_field)]if float(v) > value:
view_list = []for i in range(len(search_field)):if search_field[i] == '*':
view_list = info_list[:]else:
view_list.append(info_(search_field[i])])else:print(','.join(view_list))elif sizeof == '
up_list = []
cmd = place('SET', 'set')
cmd = place('WHERE', 'where')for line in staff:
info_list = re.split(r',+', line.strip('n'))
cmd_list = re.split(r'[ ,;]+', cmd)if cmd_list[1] != 'staff_table':print('33[31;1mplease update
`staff_table`...33[0m')breakset_index = cmd_list.index('set')
where_index = cmd_list.index('where')
set_list = re.split(r'=', ''.join(cmd_list[set_index + 1:where_index]))
set_field = set_list[0]
set_value = set_list[1]if re.search(r'['"]+', set_value):
set_value = place(''', '')
set_value = place('"', '')
where_list = re.split(r'=', ''.join(cmd_list[where_index + 1:]))
where_field = where_list[0]
where_value = where_list[1]if re.search(r'['"]+', where_value):
where_value = place(''', '')
where_value = place('"', '')if info_(where_field)] == where_value:
info_(set_field)] = set_valueprint(','.join(info_list))
up_list.append(','.join(info_list))else:return up_listdef delete(staff):
del_id = input("delete id:").strip()for i in range(len(staff)):if re.split(r',', staff[i])[0] == del_id:
staff.pop(i)print("id:%s delete success." % del_id)return staffelse:return Falsedef main():
staff_table = ''field = {'staff_id': 0,'name': 1,'age': 2,'phone': 3,'dept': 4,'enroll_date': 5}
menu = '''33[33;1m-- staff_table --33[0m33[29;1m
S. 查询 h. 帮助
A. 新增 q. 退出
E. 修改
D. 删除33[0m'''print(menu)while True:try:
with open(staff_table, 'r') as f:
staff = f.readlines()
choice = input(">>").strip().lower()if choice == 'h': # helpprint(menu)elif choice == 'q':breakelif choice
== 's': # search select(staff, field)elif choice == 'a': # addresult = add(staff)if not result:print('33[31;33[0m')continueelse:
with open(staff_table, 'w') as f:
f.writelines(result)elif choice == 'e': # updateresult = update(staff, field)if not result:print('33[31;1mupdate
<33[0m')continueelse:
with open(staff_table, 'w') as f:for line in result:
f.write(line + 'n')elif choice == 'd': # deleteresult = delete(staff)if not result:print('33[31;1mdelete
<33[0m')continueelse:
with open(staff_table, 'w') as f:
f.writelines(result)else:continueexcept:print("33[31;33[0m")continueif __name__ == '__main__': main()
View Code
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论