205 lines
6.4 KiB
Python
205 lines
6.4 KiB
Python
|
from tkinter import *
|
||
|
import tkinter as tk
|
||
|
import pymysql as mysql
|
||
|
|
||
|
root = tk.Tk()
|
||
|
root.geometry('600x300+200+200')
|
||
|
|
||
|
def submit():
|
||
|
|
||
|
con = mysql.Connect(host="127.0.0.1", user='root', passwd='', db='test') # łączenie się z bazą danych
|
||
|
cur = con.cursor() # tworzy obiekt, dzięki któremu będzie można wysyłać zapytania do bazy danych
|
||
|
|
||
|
cur.execute(
|
||
|
"SELECT * FROM `users` WHERE typ = '%s'" % name_entry.get()) # zapytanie o tabele zawarte w wybranej wcześniej bazie danych
|
||
|
|
||
|
for record in cur:
|
||
|
print(record) # wyświetlanie rekordów (w tym przypadku to są nazwy tabelek)
|
||
|
|
||
|
cur.close()
|
||
|
con.close()
|
||
|
|
||
|
def add_pyt_window():
|
||
|
add_pytanie_window = tk.Tk()
|
||
|
add_pytanie_window.geometry('600x300+300+300')
|
||
|
|
||
|
def add_pyt_sql():
|
||
|
add_pytanie.destroy()
|
||
|
del_pytanie.destroy()
|
||
|
|
||
|
def add_pyt():
|
||
|
print("ok")
|
||
|
|
||
|
con = mysql.Connect(host="127.0.0.1", user='root', passwd='', db='test') # łączenie się z bazą danych
|
||
|
cur = con.cursor() # tworzy obiekt, dzięki któremu będzie można wysyłać zapytania do bazy danych
|
||
|
|
||
|
cur.execute(
|
||
|
"INSERT INTO pytania (Pytanie, P_odp, B_odp_1, B_odp_2, B_odp_3) VALUES ('%s','%s','%s','%s','%s')" % (
|
||
|
pytanie_entry.get(), p_odp.get(), b_odp_1.get(),
|
||
|
b_odp_2.get(), b_odp_3.get()))
|
||
|
|
||
|
con.commit()
|
||
|
|
||
|
for record in cur:
|
||
|
print(record) # wyświetlanie rekordów (w tym przypadku to są nazwy tabelek)
|
||
|
|
||
|
cur.close()
|
||
|
con.close()
|
||
|
|
||
|
pytanie_entry_label = tk.Label(add_pytanie_window, text='Podaj co wyszukać')
|
||
|
p_odp_label = tk.Label(add_pytanie_window, text='Podaj co wyszukać')
|
||
|
b_odp_1_label = tk.Label(add_pytanie_window, text='Podaj co wyszukać')
|
||
|
b_odp_2_label = tk.Label(add_pytanie_window, text='Podaj co wyszukać')
|
||
|
b_odp_3_label = tk.Label(add_pytanie_window, text='Podaj co wyszukać')
|
||
|
|
||
|
pytanie_entry = tk.Entry(add_pytanie_window, )
|
||
|
p_odp = tk.Entry(add_pytanie_window, )
|
||
|
b_odp_1 = tk.Entry(add_pytanie_window, )
|
||
|
b_odp_2 = tk.Entry(add_pytanie_window, )
|
||
|
b_odp_3 = tk.Entry(add_pytanie_window, )
|
||
|
|
||
|
add_pytanie_button = tk.Button(
|
||
|
add_pytanie_window,
|
||
|
text='Dodaj pytanie do bazy',
|
||
|
command=add_pyt)
|
||
|
|
||
|
pytanie_entry_label.grid(row=0, column=0)
|
||
|
p_odp_label.grid(row=1, column=0)
|
||
|
b_odp_1_label.grid(row=2, column=0)
|
||
|
b_odp_2_label.grid(row=3, column=0)
|
||
|
b_odp_3_label.grid(row=4, column=0)
|
||
|
|
||
|
pytanie_entry.grid(row=0, column=1)
|
||
|
p_odp.grid(row=1, column=1)
|
||
|
b_odp_1.grid(row=2, column=1)
|
||
|
b_odp_2.grid(row=3, column=1)
|
||
|
b_odp_3.grid(row=4, column=1)
|
||
|
|
||
|
add_pytanie_button.grid(row=5, column=1)
|
||
|
|
||
|
def del_pyt_sql():
|
||
|
add_pytanie.destroy()
|
||
|
del_pytanie.destroy()
|
||
|
def del_pyt():
|
||
|
print("ok")
|
||
|
|
||
|
con = mysql.Connect(host="127.0.0.1", user='root', passwd='', db='test') # łączenie się z bazą danych
|
||
|
cur = con.cursor() # tworzy obiekt, dzięki któremu będzie można wysyłać zapytania do bazy danych
|
||
|
|
||
|
cur.execute(
|
||
|
"DELETE FROM `pytania` WHERE `id_pytania` = %s" % int(id_pyt.get()))
|
||
|
|
||
|
con.commit()
|
||
|
cur.close()
|
||
|
con.close()
|
||
|
|
||
|
con = mysql.Connect(host="127.0.0.1", user='root', passwd='', db='test') # łączenie się z bazą danych
|
||
|
cur = con.cursor() # tworzy obiekt, dzięki któremu będzie można wysyłać zapytania do bazy danych
|
||
|
|
||
|
cur.execute(
|
||
|
"SELECT * FROM `pytania`") # zapytanie o tabele zawarte w wybranej wcześniej bazie danych
|
||
|
|
||
|
wyniki = cur.fetchall()
|
||
|
for record in wyniki:
|
||
|
print(record) # wyświetlanie rekordów (w tym przypadku to są nazwy tabelek)
|
||
|
|
||
|
cur.close()
|
||
|
con.close()
|
||
|
|
||
|
listbox = Listbox(add_pytanie_window)
|
||
|
a = 0
|
||
|
for list in wyniki:
|
||
|
listbox.insert(a, list)
|
||
|
a += 1
|
||
|
listbox.grid(row=0, column=0)
|
||
|
|
||
|
select = None
|
||
|
def onselect(e):
|
||
|
select = listbox.selection_get()
|
||
|
if(select[1]!=None):print(select[0]+select[1])
|
||
|
|
||
|
listbox.bind("<<ListboxSelect>>", onselect)
|
||
|
|
||
|
id_pyt = tk.Entry(add_pytanie_window, )
|
||
|
id_pyt.grid(row=1, column=0)
|
||
|
|
||
|
del_pytanie_button = tk.Button(
|
||
|
add_pytanie_window,
|
||
|
text='Usun',
|
||
|
command=del_pyt)
|
||
|
|
||
|
del_pytanie_button.grid(row=2, column=0)
|
||
|
|
||
|
add_pytanie = tk.Button(
|
||
|
add_pytanie_window,
|
||
|
text='Dodaj pytanie do bazy',
|
||
|
command=add_pyt_sql)
|
||
|
add_pytanie.grid(row=0, column=0)
|
||
|
|
||
|
del_pytanie = tk.Button(
|
||
|
add_pytanie_window,
|
||
|
text='Usuń pytanie z bazy',
|
||
|
command=del_pyt_sql)
|
||
|
del_pytanie.grid(row=1, column=0)
|
||
|
|
||
|
add_pytanie_window.mainloop()
|
||
|
|
||
|
def wyniki_window():
|
||
|
wyniki_window = tk.Tk()
|
||
|
wyniki_window.geometry('600x300+300+300')
|
||
|
|
||
|
|
||
|
print("ok")
|
||
|
|
||
|
con = mysql.Connect(host="127.0.0.1", user='root', passwd='', db='test') # łączenie się z bazą danych
|
||
|
cur = con.cursor() # tworzy obiekt, dzięki któremu będzie można wysyłać zapytania do bazy danych
|
||
|
|
||
|
cur.execute(
|
||
|
"SELECT * FROM `wyniki`") # zapytanie o tabele zawarte w wybranej wcześniej bazie danych
|
||
|
|
||
|
wyniki = cur.fetchall()
|
||
|
for record in wyniki:
|
||
|
print(record) # wyświetlanie rekordów (w tym przypadku to są nazwy tabelek)
|
||
|
|
||
|
cur.close()
|
||
|
con.close()
|
||
|
|
||
|
listbox = Listbox(wyniki_window)
|
||
|
a=0
|
||
|
for list in wyniki:
|
||
|
listbox.insert(a,list)
|
||
|
a+=1
|
||
|
listbox.pack()
|
||
|
|
||
|
wyniki_window.mainloop()
|
||
|
|
||
|
|
||
|
name_label = tk.Label(root, text = 'Podaj co wyszukać')
|
||
|
|
||
|
name_entry = tk.Entry(
|
||
|
root,
|
||
|
)
|
||
|
|
||
|
sub_btn=tk.Button(
|
||
|
root,
|
||
|
text = 'Submit',
|
||
|
command = submit)
|
||
|
|
||
|
okno_dodania_pytania=tk.Button(
|
||
|
root,
|
||
|
text = 'Dodaj pytanie do bazy',
|
||
|
command = add_pyt_window)
|
||
|
|
||
|
okno_wyniki=tk.Button(
|
||
|
root,
|
||
|
text = 'Wyniki',
|
||
|
command = wyniki_window)
|
||
|
|
||
|
name_label.grid(row=0,column=0)
|
||
|
name_entry.grid(row=0,column=1)
|
||
|
sub_btn.grid(row=1,column=1)
|
||
|
okno_dodania_pytania.grid(row=2,column=1)
|
||
|
okno_wyniki.grid(row=3,column=1)
|
||
|
|
||
|
root.mainloop()
|