From c9c1a7511ba71db76ce078d28bf0f67ccf94b510 Mon Sep 17 00:00:00 2001 From: Jakub Kaczmarek Date: Tue, 19 Jan 2021 20:15:45 +0100 Subject: [PATCH] =?UTF-8?q?Prze=C5=9Blij=20pliki=20do=20''?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main_v_2.2.py | 204 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 204 insertions(+) create mode 100644 main_v_2.2.py diff --git a/main_v_2.2.py b/main_v_2.2.py new file mode 100644 index 0000000..abd6885 --- /dev/null +++ b/main_v_2.2.py @@ -0,0 +1,204 @@ +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("<>", 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()