A certainl part of an if() structure never gets executed.
nagia.retsina at gmail.com
nagia.retsina at gmail.com
Tue Jun 11 21:25:30 EDT 2013
Τη Τετάρτη, 12 Ιουνίου 2013 1:43:21 π.μ. UTC+3, ο χρήστης MRAB έγραψε:
> On 11/06/2013 21:20, Νικόλαος Κούρας wrote:
>
> > [code]
>
> > if not re.search( '=', name ) and not re.search( '=', month ) and not re.search( '=', 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 re.search( '=', month ) and not re.search( '=', year ):
>
> > cur.execute( '''SELECT * FROM works WHERE MONTH(lastvisit) = %s and YEAR(lastvisit) = %s ORDER BY lastvisit ASC''', (month, year) )
>
> > elif not re.search( '=', year ):
>
> > cur.execute( '''SELECT * FROM works WHERE YEAR(lastvisit) = %s ORDER BY lastvisit ASC''', year )
>
> > else:
>
> > print('''<h2>Πώς να γίνει αναζήτηση αφού δεν επέλεξες ούτε πελάτη ούτε μήνα ή τουλάχιστον το έτος?''')
>
> > print( '''<meta http-equiv="REFRESH" content="5;/cgi-bin/pelatologio.py">''' )
>
> > sys.exit(0)
>
> >
>
> > data = cur.fetchall()
>
> >
>
> > hits = money = 0
>
> >
>
> > for row in data:
>
> > hits += 1
>
> > money = money + row[2]
>
> >
>
> > ......
>
> > ......
>
> > selects based on either name, month, year or all of them
>
> > [/code]
>
> >
>
> >
>
> > The above if structure works correctly *only* if the user sumbits by form:
>
> >
>
> > name, month, year
>
> > or
>
> > month, year
>
> >
>
> > If, he just enter a year in the form and sumbit then, i get no error, but no results displayed back.
>
> >
>
> > Any ideas as to why this might happen?
>
> >
>
> What are the values of 'name', 'month' and 'year' in each of the cases?
>
> Printing out ascii(name), ascii(month) and ascii(year), will be helpful.
>
>
>
> Then try stepping through those lines in your head.
i hav epribted all values of those variables and they are all correct.
i just dont see why ti fails to enter the specific if case.
is there a shorter and more clear way to write this?
i didnt understood what Rick trie to told me.
can you help me write it more easily?
More information about the Python-list
mailing list