from pymysqlimport connect
class WN(object):
def __init__(self):
self.is_login =False
self.conn = connect(host='localhost', port=3306, database='wn', user='root', password='root', charset='utf8')
# 获取cursor对象
self.cursor =self.conn.cursor()
def __del__(self):
# 关闭cursor对象
self.cursor.close()
self.conn.close()
def execute_sql(self,sql):
self.cursor.execute(sql)
for tempin self.cursor.fetchall():
print(temp)
def show__all__items(self):
'''显示所有的商品'''
sql ="select *from goods;"
self.execute_sql(sql)
def show_cates(self):
sql ="select name from goods_cates;"
self.execute_sql(sql)
def show_brands(self):
sql ="select name from goods_brands;"
self.execute_sql(sql)
def add_cates(self):
item_name =input('请输入新商品分类的名称:')
sql ="""insert into goods_cates (name) values("%s");"""%item_name
self.cursor.execute(sql)
self.conn.commit()
def update_brands(self):
id=0
while True:
try:
id =int(input('输入要修改的商品分类的id:'))
except Exception as ret:
print('输入正确的id编号!')
else:
break
item_name =input('输入新商品分类的名称:')
sql ="update goods_brands set name=%s where id=%s"
self.cursor.execute(sql,[item_name,id])
self.conn.commit()
def update_cates(self):# 修改
id=0
while True:
try:
id =int(input('输入要修改的商品分类的id:'))
except Exception as ret:
print('输入正确的id编号!')
else:
break
item_name =input('输入新商品分类的名称:')
sql ="update goods_cates set name=%s where id=%s"
self.cursor.execute(sql,[item_name,id])
self.conn.commit()
def delete_cates(self):# 删除
id=0
while True:
try:
id=input('输入要删除的商品分类的id:')
except Exception as ret:
print('输入正确的ID编号')
else:
break
isdel =input('你确定要删除编号为%s的商品分类吗,按y确认,其他键返回主菜单:'%id)
if isdel =='y':
pass
def register(self):# 注册
username =input('请输入用户名:')
pwd =input('输入密码:')
addr =input('请输入地址:')
tel =input('输入电话:')
sql ="insert into customers values (0,%s,%s,%s,password(%s));"
self.cursor.execute(sql,[username,addr,tel,pwd])
self.conn.commit()
print('注册成功了!')
def login(self):# 登录
username =input('输入用户名:')
pwd =input('输入密码:')
sql ='select id from customers where name=%s and passwd =password(%s);'
self.cursor.execute(sql,[username,pwd])
self.uid =self.cursor.fetchone()
if self.uid:
self.uid =self.uid[0]
self.is_login =True
return self.is_login
def create_order(self):
pid =input('输入商品的编号')
num =input('输入商品的数量')
sql ="select *from goods where id=%s and is_show=1 and is_saleoff=1;"
result =self.cursor.execute(sql,[pid])
if result:
sql ="insert into orders values (0,now(),%s);"
self.cursor.execute(sql,[self.uid])
sql ="insert into order_detail values (0,%s,%s,%s);"
self.cursor.execute(sql,[self.cursor.lastrowid,pid,num])
self.conn.commit()
print('下单成功!')
else:
print('你要购买的商品已经下架')
@staticmethod
def sys_menu():
print('-------商品--------')
print('1.>>>注册')
print('2.>>>登录')
print('3.>>>退出')
return input('输入功能序号')
def get_info_by_name(self):
find_name =input('请输入你要查询的商品的名字:')
# sql = """select * from goods where name="%s"; """%find_name
# print('-->%s<--'%sql)
# self.execute_sql(sql)
sql ="select *from goods where name=%s"
self.cursor.execute(sql,[])
print(self.cursor.fetchall())
@staticmethod
def print_menu():
print('-------蜗牛--------')
print('1:所有的商品')
print('2:所有商品分类')
print('3:所有商品品牌分类')
print('4:添加商品分类')
print('7:根据名字查询商品')
return input('请输入功能对应的序号:')
def run(self):
while True:
num =self.sys_menu()
if num =='1':
self.register()
elif num =='2':
if self.login():
print('登录成功!')
break
else:
print('用户名或密码有误,请重新输入。。。。')
if self.is_login:
while True:
num =self.print_menu()
if num =='1':
self.show__all__items()
elif num =='2':
self.show_cates()
elif num =='3':
self.show_brands()
elif num =='4':
self.add_cates()
elif num =='7':
# 根据名字查询商品
self.get_info_by_name()
else:
print('输入有误,请重新输入.....')
def main():
# 1、创建一个商城对象
wn = WN()
# 2、调用这个对象run方法,让其运行
wn.run()