[Plone-IT] lista, dictionary, array, indici e query mysql

sguglia a arrows.it sguglia a arrows.it
Ven 25 Gen 2008 09:35:54 UTC


On Thursday 24 January 2008 13:01:46 Riccardo Lemmi wrote:
> On Thursday 24 January 2008, sguglia a arrows.it wrote:
> > Salve!
> >
> > Problemino irrisolto del giorno:
> > devo creare dinamicamente una stringa (e' uno statement WHERE mysql) che ha
> > come particolarita' di essere inframezzata ad ogni iterazione da un OR,
> > _a_parte_l'_ultima_. Usando una lista farei cosi':
> >
> >
> >
> > for y in mylist:
> >   if mylist.index(y) < (len(mylist) - 1):
> >     var_boole = " OR "
> >   else:
> >     var_boole = ""
> >   where_string = where_string + "field_" + y + " LIKE 'pippo' " + var_boole
> > return where_string
> > # forse inelegante (accetto volentieri miglioramenti), risultato:
> > # se mylist = [ 'uno' , 'due' , 'tre' ], alla fine
> >
> > # where_string ==
> > # field_uno LIKE 'pippo' OR field_due LIKE 'pippo' OR field_tre LIKE
> > 'pippo'
> 
> conditions = ["field_%s LIKE 'pippo'",]*len(mylist)
> conditions = " OR ".join(conditions)
> return  'where '+conditions%tuple(mylist)
> 
> > ...
> 
> non mi è chiaro, ma:
> 
> > in PHP andrei ad occhi chiusi, ma python lo sto masticando da una
> > settimana...no, ok, due..:-) e mi stro incaprettando con la gestione degli
> > arrays
> 
> dato che hai dimestichezza con il PHP perchè non usi un metodo DTML SQL? Ha 
> proprio i comandi per creare query dinamiche (<dtml-sqlgroup> etc).
> 

in effetti una rilettura dello zope book mi consiglia di approfondire i DTML sql ed e' pronto un nuovo thread su zcatalog :)
Grazie per gli input..

Stefano.




Maggiori informazioni sulla lista Plone-IT