[Tutor] MySQLdb simple menu
David
david at abbottdavid.com
Sun Aug 17 02:58:28 CEST 2008
New to python and programming. This works but I don't like the way it is
set up. I would like to have a simple menu like;
[code]
def options():
print \
""" Options:
'p' Print Options
'l' Login
'c' Create account
'q' Quit
"""
options()
def choice():
choice = "p"
while choice != "q":
choice = raw_input("Options: ")
if choice == "p":
print options()
if choice == "l":
login()
if choice == "c":
newlogin()
if choice == "q":
sys.exit(0)
else:
print "That option does not exsist!"
choice = raw_input("Option: ")
choice()
[/code]
But I can't get it to work, I can't get past;
[code]
for row in rows:
[/code]
Works but I don't like that you have to try to login first, would like
it to give you the option to;
login
create account
print menu
exit
[code]
import sys
import MySQLdb
import MySQLdb.cursors
conn = MySQLdb.Connect(
host='localhost', user='root',
passwd='atlantic', db='python', compress=1,
cursorclass=MySQLdb.cursors.DictCursor)
cursor = conn.cursor()
cursor.execute("SELECT * FROM login")
rows = cursor.fetchall()
cursor.close()
conn.close()
username = raw_input("Enter your username (q to exit): ")
password = raw_input("Enter your password (q to exit): ")
for row in rows:
if username == row['username'] and password == row['password']:
print "Hello", username
sys.exit(0)
else:
r = raw_input("Login failed, do you want to create an account? [y/n]")
if r != 'y' : sys.exit(0)
newname = ""
data = []
newname = raw_input("Please enter a username: ")
newpw = raw_input("Please enter a password: ")
tuple = (newname, newpw)
data.append(tuple)
db = MySQLdb.connect(
host="localhost",
user="root",
passwd="atlantic",
db="python")
cursor = db.cursor()
cursor.executemany(
"INSERT INTO login (username, password)VALUES (%s, %s)", data)
[/code]
--
Have Fun,
David A.
Powered by Gentoo GNU/LINUX
http://www.linuxcrazy.com
More information about the Tutor
mailing list