Bonjour,
Je souhaite pouvoir Extraire des données suite à une sélection au moyen d'un combobox.
En d'autres termes voici ma requête SQL j'arrive à réaliser avec le code SQL ci-dessous et le code python ci-après :
Je veux extraire tous les numéros de discours qui ont été réalisés à Paris. Ca OK
Maintenant je veux extraire tous les numéros discours qui ont été réalisés à Paris, mais triés dans l'ordre croissant.Code:SELECT * FROM tb_discours WHERE ville
Mais je ne comprend pas comment arriver à faire cela en Python en utilisant TKINTER.
Code:SELECT * FROM tb_discours WHERE ville ="Paris" ORDER by numdiscours
Voici mon code PYTHON
ma liste déroulante récupère la Ville dans la table tb_discours
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 # function callback def callback_villeRch(event): global rsltcmb_villeRch rsltcmb_villeRch = cmb_villeRch.get() # Authors drop-down list function def cmb_villeRch(): """ Fonction liste déroulante """ connexion = sqlite3.connect('mnesis.db') cursor = connexion.cursor() cursor.execute('SELECT DISTINCT ville FROM tb_discours ORDER BY ville') data = [] for row in cursor.fetchall(): data.append(row[0]) return data
Ensuite l'affichage, mais les numéros de discours ne sont pas triés dans un ordre croissant, comment faire ?
Merci beaucoup par avance pour votre expertise.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 """ Retourne les valeurs des enregistrements de la base de données """ connexion = sqlite3.connect('mnesis.db') cursor = connexion.cursor() # La recherche doit correspondre à la selection de la liste déroulante cursor.execute('SELECT * FROM tb_discours WHERE ville=?', (rsltcmb_villeRch,)) results = cursor.fetchall() print_results = '' for row in results: print_results += "N° Discours : " + str(row[3]) + "\n" + "Date : " + str(row[2]) + "\n" + "Messages : " + "\n" + str(row[4]) + \ "\n" + "-----------------------------------------" + "\n" # Label --------------------- ville_label = Label(tpl_rslt, text=str(row[1]), padx=10, pady=5, bg="Snow3", fg="#272727", font="Calibri 22 bold") ville_label.pack() # Insert zone de texte zonetext = ScrolledText(tpl_rslt, width=135, height=30, padx=10, pady=1, wrap='word', font="Calibri 12") zonetext.pack() zonetext.insert("0.0", print_results)