in reply to How to interpolate sql-output

That sql-query is stored in database, so I fetch it in order to use it to generate options to html-select.

It's much easier when you can manipulate sql-queries in 'admin-panel' and you don't have to wrote those to program-code.

Actually main idea is to make dynamic form-maker. So those queries have to be in databases.
It's like using db to query db.

One and maybe even easiest way is to implement limited variable-support with regexp.
Just wondering if this works:~s/($\w+)/$1/g
Maybe not, but there are ways...
At-least if one needs only limited number of variables.
It's ugly hack, but it'll work.

Just trying to find elegant solution which would deal all variables, like normal interpolation.

Replies are listed 'Best First'.
Re^2: How to interpolate sql-output
by graff (Chancellor) on Jan 14, 2015 at 04:39 UTC
    I'm still trying to understand what you really want to do, but whatever it is, I'm sure there's a better way than having script-internal variable expressions stored in string values in a database, and having the script 'eval' those strings.

    I think a "dynamic form-maker" is a sensible thing to build, but the typical approach for that would be a tool that allows the author/admin person to create a page layout with some inventory of elements to present the end-users with suitable instructions, input methods, and displays of results.

    Throughout the authoring process, maintain a set of labels (simple strings) for identifying the specific inputs-from and outputs-to the end-user. The labels can be tracked in the database in whatever way makes sense for the application; the script can use the labels as hash keys for storing whatever the script needs for mediating between the user and the database - subroutine refs, data structures, query strings, etc.

      I agree, that this approach is in a thin ice.

      It is doable in more traditional ways, but this was partly a test and also I think that this gives greatest freedom, couse you can use db directly.

      I have 'layout-maker' in which user manipulates form-objects, but but this is just for populating options to select, cause in essence it is just name and value.

      When I iterated in my mind, it always simplified to result of sql-query.

      I know very well dangers of letting ppl to make queries on their own.
      This will be, in the end admin-tool, in their intranet and even there is a way to manipulate those values and queries it needs a bit of knowledge
      to make working sql-query (=select, insert, update or delete), when you don't know db-schema etc.

      I don't think that anyone else than I'll touch to those sql-queries.
      Only one, that I could imagine is worker who want to sabotage system and firm before leaving.