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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 SELECT * FROM tb_discours WHERE ville
Maintenant je veux extraire tous les numéros discours qui ont été réalisés à Paris, mais triés dans l'ordre croissant.
Mais je ne comprend pas comment arriver à faire cela en Python en utilisant TKINTER.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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)
Merci beaucoup par avance pour votre expertise.