Snippets

Daniele Alerni Rubrica 3

Created by Daniele Alerni
from Tkinter import *
import MySQLdb


connessione=MySQLdb.connect(host="localhost",user="root",passwd="bwsa2008*",db="prova")
db=connessione.cursor()

finestra = Tk()
finestra.geometry("400x400")
finestra.title("RUBRICA")
    
def finestracerca(self,dati):
    
    self.a = len(dati)
    self.FinestraCerca=Tk()
    self.FinestraCerca.geometry("600x400")
    self.FinestraCerca.title("Contatti trovati")
    if self.a == 1:
        etic=Label(self.FinestraCerca, text="Ho trovato 1 contatto!!",fg="red",bg="yellow",font=("Helvetica"))
        etic.grid(row=0,column=0,rowspan=11,sticky=N)
    elif self.a==0:
        etic=Label(self.FinestraCerca, text="Non ho trovato contatti",font=("Helvetica"),fg="red",bg="yellow")
        etic.grid(row=0,column=0,rowspan=11,sticky=N)
    else:
        etic=Label(self.FinestraCerca, text="Ho trovato " +str(self.a)+ " contatti!!",font=("Helvetica"),fg="red",bg="yellow")    
        etic.grid(row=0,column=0,columnspan=11,sticky=N)  

    Label(self.FinestraCerca, text="Nome").grid(row=10,column =1)
    Label(self.FinestraCerca, text="Cognome",).grid(row=10,column=3)
    Label(self.FinestraCerca, text="Indirizzo").grid(row=10,column=5)
    Label(self.FinestraCerca, text="Telefono").grid(row=10, column=7)
    Label(self.FinestraCerca, text="Mail").grid(row=10, column=9)
    Label(self.FinestraCerca, text="Codice Fiscale").grid(row=10, column=11)
    
    self.cont = 0
    
    self.riga=30
    for contatti in dati :
        
        self.riga+=1
        self.Fnome=str(dati[self.cont][1])
        Label(self.FinestraCerca, text=self.Fnome).grid(row=self.riga ,column =1)
        self.Fcognome=str(dati[self.cont][2])
        Label(self.FinestraCerca, text=self.Fcognome).grid(row=self.riga,column=3)
        self.Ftelefono=str(dati[self.cont][3])
        Label(self.FinestraCerca, text=self.Ftelefono).grid(row=self.riga ,column=5)
        self.Findirizzo=str(dati[self.cont][4])
        Label(self.FinestraCerca, text=self.Findirizzo).grid(row=self.riga, column=7)
        self.Fmail=str(dati[self.cont][5])
        Label(self.FinestraCerca, text=self.Fmail).grid(row=self.riga, column=9)
        self.cont+=1                             

        
def cerca():
    DBnome=e1.get()
    DBcognome=e2.get()
    DBindirizzo=e3.get()
    DBtelefono=e4.get()
    DBmail=e5.get()
    
   
    if len(DBnome)==0 and len(DBcognome) == 0:
        cursore = connessione.cursor()
        cursore.execute("select * FROM nomi ")
        dati = cursore.fetchall()
        finestracerca(finestracerca,dati)
        print"a"
        
    elif len(DBnome)!=0 and len(DBcognome) ==0:
        cursore = connessione.cursor()
        cursore.execute("select * FROM nomi where nome='%s' " %(DBnome))
        dati = cursore.fetchall()              
        finestracerca(finestracerca,dati)
        print"b"
        
    elif len(DBnome)==0 and len(DBcognome) !=0:
        cursore = connessione.cursor()
        cursore.execute("select * FROM nomi where cognome='%s' " %(DBcognome))
        dati = cursore.fetchall()              
        finestracerca(finestracerca,dati)
        print"c"
        
    elif len(DBnome)!=0 and len(DBcognome) !=0:
        cursore = connessione.cursor()
        cursore.execute("select * FROM nomi where nome='%s' and cognome ='%s'" %(DBnome,DBcognome))
        dati = cursore.fetchall()              
        finestracerca(finestracerca,dati)
        print"d"        

        
def salva():
    DBnome2=e1.get()
    DBnome=str(DBnome2)
    DBcognome2=e2.get()
    DBcognome=str(DBcognome2)
    DBindirizzo2=e3.get()
    DBindirizzo=str(DBindirizzo2)
    DBtelefono2=e4.get()
    DBtelefono=str(DBindirizzo2)
    DBmail2=e5.get()
    DBmail=str(DBmail2)
    cursore = connessione.cursor()
    cursore.execute(("insert into nomi(nome,cognome,telefono,indirizzo,mail) values(%s,%s,%s,%s,%s)"),(DBnome,DBcognome,DBtelefono,DBindirizzo,DBmail))
    connessione.commit()

    


        
def elimina():
    
    cursore = connessione.cursor()
    cursore.execute("select * FROM nomi ")
    dati = cursore.fetchall()
    
    
    FinestraCancella=Tk()
    FinestraCancella.geometry("400x350")
    FinestraCancella.title("Cancella contatti")

    Label(FinestraCancella, text="Nome").grid(row=10,column =1)
    Label(FinestraCancella, text="Cognome",).grid(row=10,column=3)
    Label(FinestraCancella, text="Indirizzo").grid(row=10,column=5)
    Label(FinestraCancella, text="Telefono").grid(row=10, column=7)
    Label(FinestraCancella, text="Mail").grid(row=10, column=9)
    Label(FinestraCancella, text="Codice Fiscale").grid(row=10, column=11)
    
             
    cont = 0
    cb={}
    a={}
    b=[]
    riga=30
    
    def cancella():
        m=[]
        if var.get():
            print c
            m.append(c)
            
        
                
    for contatti in dati :
        var=IntVar()
        riga+=1
        Fid=int(dati[cont][0])
        #
        c=Fid

        
        a[Fid]=Checkbutton(FinestraCancella,text=Fid,variable=var,command=cancella)
        a[Fid].grid(row=riga, column=0)
        
        cb.update({Fid:False})
        b.append(var.get())    
        
        
        #
        Fnome=str(dati[cont][1])
        Label(FinestraCancella, text=Fnome).grid(row=riga ,column =1)
        Fcognome=str(dati[cont][2])
        Label(FinestraCancella, text=Fcognome).grid(row=riga,column=3)
        Ftelefono=str(dati[cont][3])
        Label(FinestraCancella, text=Ftelefono).grid(row=riga ,column=5)
        Findirizzo=str(dati[cont][4])
        Label(FinestraCancella, text=Findirizzo).grid(row=riga, column=7)
        Fmail=str(dati[cont][5])
        Label(FinestraCancella, text=Fmail).grid(row=riga, column=9)
        cont+=1
  #
          
        
            
    ButCancella = Button(FinestraCancella, text = "Cancella contatti" ,fg="black",command = cancella).grid()         
              
      
    

   
    
#Bottoni       
ButCerca = Button(finestra, text = "Cerca contatto" ,fg="black",command = cerca).grid(row= 20, column = 2)
ButSalva = Button(finestra, text = "Salva contatto" ,fg="black",command = salva).grid(row= 21, column = 2)
Butelimina = Button(finestra, text = "Elimina contatto" ,fg="black",command = elimina).grid(row= 22, column = 2)

#Creo le caselle di testo.

Label(finestra, text="Nome").grid(row=1 ,column =1)
Label(finestra, text="Cognome").grid(row=1,column=4)
Label(finestra, text="Indirizzo").grid(row=4 ,column=1)
Label(finestra, text="Telefono").grid(row=4, column=4)
Label(finestra, text="Mail").grid(row=9, column=1)
Label(finestra, text="Codice Fiscale").grid(row=9, column=4)


e1 = Entry(finestra)
e2 = Entry(finestra)
e3 = Entry(finestra)
e4 = Entry(finestra)
e5 = Entry(finestra)
e6 = Entry(finestra)

e1.grid(row=2 ,column=1)
e2.grid(row=2 ,column=4)
e3.grid(row=5 ,column=1)
e4.grid(row=5 ,column=4)
e5.grid(row=10 ,column=1)
e6.grid(row=10 ,column=4)




#
finestra.mainloop()

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.