如何使用sqlite3为python中的两个用户类型提供单独的菜单
我的程序需要一个学生型用户和一个教师型用户。不幸的是,我不知道如何根据用户类型显示不同的菜单。该计划将有不同的菜单,根据他们是学生还是教师,每个人都有自己的功能和用途如何使用sqlite3为python中的两个用户类型提供单独的菜单,python,sql,sqlite,Python,Sql,Sqlite,我的程序需要一个学生型用户和一个教师型用户。不幸的是,我不知道如何根据用户类型显示不同的菜单。该计划将有不同的菜单,根据他们是学生还是教师,每个人都有自己的功能和用途 def studmain(): screen3 = Tk() screen3.geometry("500x500") screen3.title("Student Menu") screen3.mainloop def teachmain(): screen4 = Tk() scr
def studmain():
screen3 = Tk()
screen3.geometry("500x500")
screen3.title("Student Menu")
screen3.mainloop
def teachmain():
screen4 = Tk()
screen4.geometry("500x500")
screen4.title("Teacher Menu")
screen4.mainloop
def loginfunc():
while True:
with sqlite3.connect('MyComputerScience.db') as db:
cursor = db.cursor()
find_user = ("SELECT * FROM users WHERE username = ? AND password = ?")
cursor.execute(find_user, (username.get(), password.get()))
results = cursor.fetchall()
if results:
for i in results:
Label(screen1, text = "Log-in successful!", fg = "GREEN", font = "Calibri").pack()
find_type = ("Select * FROM users WHERE usertype = Teacher")
results = cursor.fetchall()
if results:
for i in results:
teachmain()
else:
studmain()
else:
Label(screen1, text = "Log-in unsuccessful!", fg = "RED", font = "Calibri").pack()
login()
break
你的代码没有显示你想要这个菜单或类似的东西。还有,为什么你总是在结尾处断开
break
,而while True
呢?菜单会在程序识别用户之后出现,而且会有很多中断,因为我刚刚忘记删除它们。我的第一句话是什么意思:请至少展示一下你将如何放置单个菜单。我们不介意在这里阅读。我已经添加了我试图做的事情,但是这两种方式都只显示学生菜单,即使当我以我注册为教师的身份登录时也是如此。故事寓意:手动跟踪代码,检查每一行,以确保它在逻辑上有意义。积极地逐步检查正在运行的代码(即实时调试)并检查变量的值,然后当某些内容看起来不正确时,回溯,询问自己这些值的原因和来源等。查找未使用的代码和/或注意编译器警告等(当然,我怀疑python是否真的标记了这类内容)