On Tue, 11 Jun 2013 22:49:05 -0600, Michael Torrie wrote: > What do each of these functions return? When you print out > re.search('=', name) what happens?
First of all i have changed the code to the following because using a regex to detect a single char was an overkill. if '=' not in name and '=' not in month and '=' not in year: cur.execute( '''SELECT * FROM works WHERE clientsID = (SELECT id FROM clients WHERE name = %s) and MONTH(lastvisit) = %s and YEAR (lastvisit) = %s ORDER BY lastvisit ASC''', (name, month, year) ) elif '=' not in month and '=' not in year: cur.execute( '''SELECT * FROM works WHERE MONTH(lastvisit) = %s and YEAR(lastvisit) = %s ORDER BY lastvisit ASC''', (month, year) ) elif '=' not in year: cur.execute( '''SELECT * FROM works WHERE YEAR(lastvisit) = %s ORDER BY lastvisit ASC''', year ) else: print( '<h2><font color=red>Πώς να γίνει αναζήτηση αφού δεν επέλεξες ούτε πελάτη ούτε μήνα ή τουλάχιστον το έτος?' ) print( '<meta http-equiv="REFRESH" content="5;/cgi-bin/ pelatologio.py">' ) sys.exit(0) Here is the definements of those varibles. as you can see are all tuples # populate names, months, years names.add( '==========' ) months = ( '==========', 'Ιανουάριος', 'Φεβρουάριος', 'Μάρτιος', 'Απρίλιος', 'Μάϊος', 'Ιούνιος', 'Ιούλιος', 'Αύγουστος', 'Σεπτέμβριος', 'Οκτώβριος', 'Νοέμβριος', 'Δεκέμβριος' ) years = ( '==========', 2010, 2011, 2012, 2013 ) ======================== i used print( name, month, year ) and noticed that all values returned as expected when selected fro drop-down menus and submitted. But when it comes to select '==========' form month instead of '==========' to be submitted a zero gets submitted and i think the problem is the way i'm filling up months into the drop down menu which is: for i, month in enumerate(months): print('<option value="%s"> %s </option>' % (i, month) ) the if case does not execute because of the way it checks for None entry which is: elif '=' not in year: but if enumerate yields 0 instead of '==========' then elif '=' not in year of course fails. So, i must tell: for i, month in enumerate(months): print('<option value="%s"> %s </option>' % (i, month) ) to somehow return '==========' instead of 0 but dont know how. -- http://mail.python.org/mailman/listinfo/python-list