[Python] Esclusione della query vuota
Juri Rudi
rudijuri a gmail.com
Mer 10 Set 2014 22:08:20 CEST
Salve a tutti,
spero che qualcuno possa aiutarmi.
Ho una tabella mysql con tre campi: nome, cognome e paese.
Il mio desiderio sarebbe quello di effettuare una ricerca in quella
tabella attraverso una maschera con tre caselle, una per ogni campo, in
cui inserire il valore da cercare, ed un unico tasto "cerca" con il
comando di ricerca.
Vorrei, insomma, che il database mysql mi restituisse i record conformi
alle caselle riempite dall'utente (ad es., "Paolo" di "Modena"), senza
però darmi tutti i Paolo che non sono di Modena né tutti quelli di
Modena che non si chiamano Paolo, ma soprattutto che non consideri le
caselle vuote (ad es., il cognome di Paolo non sarebbe un campo vuoto
nella tabella ma semplicemente un campo irrilevante ai fini della
ricerca, perché altrimenti se Paolo ha invece un cognome quel record
verrebbe escluso dalla ricerca solo perché la casella è "None").
Il problema è che non riesco a cd escludere dalla ricerca le caselle
lasciate eventualmente vuote.
Mi sono sicuramente spiegato male, scusate.
Il codice che avevo abbozzato è il seguente:
<<
# nome:
nome_etichetta=Label(cerca_window, text="nome:").grid(row=100,
column=10)
# chiede di inserire il valore da cercare nel db
nome= StringVar(cerca_window)
nome_casella=Entry(cerca_window, textvariable=nome).grid(row=100,
column=20)
nome.get()
# cognome:
cognome_etichetta=Label(cerca_window,
text="cognome:").grid(row=110, column=10)
# chiede di inserire il valore da cercare nel db
nome= StringVar(cerca_window)
nome_casella=Entry(cerca_window,
textvariable=cognome).grid(row=110, column=20)
cognome.get()
# paese:
paese_etichetta=Label(cerca_window, text="paese:").grid(row=120,
column=10)
# chiede di inserire il valore da cercare nel db
paese= StringVar(cerca_window)
paese_casella=Entry(cerca_window, textvariable=paese).grid(row=120,
column=20)
paese.get()
def cerca_def():
cliens = "select cognome, nome, paese from rubrica where
(cognome = '%s' OR nome = '%s' OR paese = '%s')" % (cognome.get(),
nome.get(), paese.get())
cursore.execute(cliens)
risultato = cursore.fetchall()
print (risultato)
if risultato != "":
risultato1=str(risultato)
risultato2=risultato1.strip("[()',)]")
risultato_ricerca_window = Tk()
risultato_ricerca_window.title("Risultato della ricerca")
risultato_button = Button(risultato_ricerca_window,
text=risultato2).pack(side=TOP)
OK2 = Button(cerca_window, text="Cerca", command =
cerca_def).grid(row=120, column=10)
>>
Riuscite a darmi una mano?
Grazie mille per l'attenzione (e il tempo) che vorrete dedicare a questa
mia email.
Juri
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20140910/6ed9cca0/attachment.html>
Maggiori informazioni sulla lista
Python