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):
# 關(guān)閉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('輸入商品的數(shù)量')
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('你要購買的商品已經(jīng)下架')
@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:根據(jù)名字查詢商品')
return input('請輸入功能對應(yīng)的序號:')
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':
# 根據(jù)名字查詢商品
? ? ? ? ? ? ? ? ? ? self.get_info_by_name()
else:
print('輸入有誤一铅,請重新輸入.....')
def main():
#? ? 1陕贮、創(chuàng)建一個商城對象
? ? wn = WN()
#? ? 2、調(diào)用這個對象run方法潘飘,讓其運行
? ? wn.run()