Saltar al contenido

¿Cómo llenar SELECT con PYTHON?

Llenar SELECT con PYTHON. En este articulo daremos como ejemplo 3 alternativas para que puedas poblar una lista desplegable en el lenguaje PYTHON.

llenar SELECT con PYTHON

Para llenar un select necesitamos valores estáticos o valores que sean extraídos desde una base de datos. En estos ejemplos lo que haremos será extraer información de base de datos pudiendo ser MySQL o SQLITE.

Primera forma: mysql.connector

De una manera sencilla podemos interactuar con la base de datos para extraer la información y llenar la lista desplegable.

def combo_input():
conn = mysql.connector.connect(host = "localhost", user = "test",passwd = "test", db = "test")
cursor = conn.cursor()
cursor.execute("SELECT nom FROM test")

result=cursor.fetchall()
return result
combo_list = ttk.Combobox(Product)
combo_list['value'] = combo_input()
combo_list.pack()

Segunda Forma: Rellenar ComboBox desde MYSQL.

Otra opción es rellenar usando las siguientes líneas de código Python. Veamos el ejemplo a continuación.

from tkinter import *
from tkinter import ttk
from tkinter.ttk import Combobox

import tkinter.messagebox as mb
from tkinter import messagebox

import sqlite3

def conectarmundo():

miConeccion=sqlite3.connect("Mundo")

miCursor=miConeccion.cursor()

try:

miCursor.execute('''

CREATE TABLE DATOSMUNDO (ID INTEGER PRIMARY KEY AUTOINCREMENT,

PAIS VARCHAR(20),

CONTINENTE VARCHAR(150))

''')
messagebox.showinfo("BDD", "BDD creada con EXITO!")
except:

messagebox.showwarning("¡Atencion!", "La BDD yá existe")

conexion.commit()

def coneccionpaises():

miConeccion=sqlite3.connect("Mundo")

miCursor=miConeccion.cursor()

miCursor.execute("SELECT PAIS FROM DATOSMUNDO")

result=miCursor.fetchall()

return result

miConeccion.commit()

root = Tk()
root.geometry("500x500")
miTipo=StringVar()

combo_list = Combobox(root, textvariable=miTipo, values=coneccionpaises()).place(x=130, y=245)

conecmontajes=Button(root, text="Conectar", command=conectarmundo, height=0, relief="raised", borderwidth=1, bg="azure2", fg="firebrick1",

font=("Calibri", 12, "bold")).place(x=150, y=280)

root.mainloop()

Tercera forma: Poblar combobox con base de datos SQLite

Tendremos que realizar una consulta SQL y devolver todos los registros de la tabla personal en la etiqueta SELECT

def conectbd(self,query):
with sqlite3.connect(self.db_nombre) as conn:
cursor = conn.cursor()
cursor.execute("SELECT * FROM Personal")
result=cursor.fetchall()
cursor.commit()
return result

def combo_input(self):
query = 'SELECT nombre FROM Personal'
db_rows = self.run_query(query)
data=[]
for rows in db_rows:
data.append(rows[0])
return data

Conclusión

En este articulo hemos explicado 3 formas para llenar un SELECT en el lenguaje PYTHON usando base de datos. Espero que esta corta explicación les ayude en sus proyectos web.

Join the conversation

Tu dirección de correo electrónico no será publicada.