
from sqlalchemy import create_engine
from sqlalchemy.exc import SQLAlchemyError
my_conn = create_engine("mysql+mysqldb://root:test@localhost/my_tutorial")
try:
my_row=my_conn.execute("SELECT student FROM student_profile")
my_list = [r for r, in my_row]
except SQLAlchemyError as e:
error=str(e.__dict__['orig'])
print(error)
options = tk.StringVar(my_w)
options.set(my_list[0]) # default value
om1 =tk.OptionMenu(my_w, options, *my_list)
om1.grid(row=1,column=1,padx=50)
def my_show(*args): # on select function
for i in my_list:
if i==options.get():
display_data(i)
def display_data(name):
import io
from PIL import Image, ImageTk
query="SELECT id,student,profile_photo FROM student_profile WHERE student=%s"
data=(name,)
my_row=my_conn.execute(query,data)
student = my_row.fetchone()
img = Image.open(io.BytesIO(student[2]))
img = ImageTk.PhotoImage(img)
l1=tk.Label(my_w,text=student[0]) # student id
l1.grid(row=1,column=2)
l2=tk.Label(my_w,text=student[1]) # student name
l2.grid(row=1,column=3)
l3 = tk.Label(my_w,image=img )
l3.grid(row=3,column=1)
Full code is hereimport tkinter as tk
from tkinter import *
#import cStringIO
my_w = tk.Tk()
my_w.geometry("400x250")
my_w.title("www.plus2net.com") # Adding a title
from sqlalchemy import create_engine
from sqlalchemy.exc import SQLAlchemyError
my_conn = create_engine("mysql+mysqldb://root:test@localhost/my_tutorial")
try:
my_row=my_conn.execute("SELECT student FROM student_profile")
my_list = [r for r, in my_row]
except SQLAlchemyError as e:
error=str(e.__dict__['orig'])
print(error)
options = tk.StringVar(my_w)
options.set(my_list[0]) # default value
om1 =tk.OptionMenu(my_w, options, *my_list)
om1.grid(row=1,column=1,padx=50)
def my_show(*args): # on select function
for i in my_list:
if i==options.get():
display_data(i)
def display_data(name):
import io
from PIL import Image, ImageTk
query="SELECT id,student,profile_photo FROM student_profile WHERE student=%s"
data=(name,)
my_row=my_conn.execute(query,data)
student = my_row.fetchone()
global img
img = Image.open(io.BytesIO(student[2]))
img = ImageTk.PhotoImage(img)
l1=tk.Label(my_w,text=student[0])
l1.grid(row=1,column=2)
l2=tk.Label(my_w,text=student[1])
l2.grid(row=1,column=3)
l3 = tk.Label(my_w,image=img )
l3.grid(row=3,column=1)
options.trace('w',my_show)
my_w.mainloop()
Author & Instructor at plus2net
I write and maintain practical tutorials on Python, PHP, SQL, JavaScript, HTML, jQuery, and web development at plus2net. The tutorials focus on clear explanations, working examples, and code that readers can test and adapt while learning.