On 24/05/05, David H <bluepaul@earthlink.net> wrote:
I have a array data type in my DB wich have the following format : {1,2,3} ( ids_test ). Now in my web application, I have a multiple select wich options must be marked as selected if the number is in the array described above. How can I make the above format be converted to a list of elements?
For instance:
<html> <body> <dtml-in searchIdsTest> <dtml-call "REQUEST.set('ids_test', '['+ids_test[1:-1]+']')"> </dtml-in> <form> <select name="id_test" multiple="true"> <dtml-in serch_id_test> <option value="&dtml-id_test;" <dtml-if id_test in ids_test> selected="true"</dtml-if>></option> </dtml-in> </select> </form> </body> </html>
I think you are close. Change <dtml-if ids_test in ids_test> to <dtml-if "ids_test in ids_test"> ?
It's working like IN over a string, e.g. the [5,61] will make selected the number 5,6 and 61. <dtml-call "REQUEST.set('ids_test', '(' + id_test[1:-1] + ')')"> Where id_test is the result of the database query wich return in this format: {1,2,3}. I modify it to a (1,2,3) and finally I try the <dtml-call "REQUEST.set('list', _.list(ids_test))"> Following this api: list (sequence) Return a list whose items are the same and in the same order as sequence's items. If sequence is already a list, a copy is made and returned, similar to sequence[:]. For instance, list('abc') returns returns ['a', 'b', 'c'] and list( (1, 2, 3) ) returns [1, 2, 3]. I need a integer-list, is it possible? -- Fernando Lujan