[Plone-IT] lista, dictionary, array, indici e query mysql
Riccardo Lemmi
riccardo a reflab.it
Gio 24 Gen 2008 12:01:46 UTC
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).
--
Riccardo Lemmi Email: riccardo a reflab.it
Reflab S.r.l. - Plone Design, Development and Consulting
Phone: +39 349 4620820 http://www.reflab.it
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome: signature.asc
Tipo: application/pgp-signature
Dimensione: 189 bytes
Descrizione: This is a digitally signed message part.
URL: <http://lists.plone.org/pipermail/plone-plone-it/attachments/20080124/16d3006a/attachment.asc>
Maggiori informazioni sulla lista
Plone-IT