[SOLUCIONADO]Pasa parametros de la Base de Datos a JS

Buen día,

Como puedo manejar parametros que se cargan desde la Base de Datos en JS

Es claro que los cargo desde PHP en un toba::memoria, pero como los recupero desde JS ?

Gracias

Buen dia John,

contame un poco mas cual seria la situacion puntual, en principio podrias recuperar dicho valor mediante una llamada ajax si es que la seleccion es altamente dinamica.

Saludos

Si ingeniero, es el caso de las notas, que manejan diferentes porcentajes y las tengo como constante en el JS y deseo traer dichos porcentajes desde la BD.

var definitiva = (parseFloat(total_trabajo) * porcentaje_trabajos +
parseFloat(total_produccion) * porcentaje_produccion +
parseFloat(total_evaluaciones) * porcentaje_evaluaciones +
parseFloat(total_final) * porcentaje_final +
parseFloat(total_autoevaluacion) * porcentaje_autoevaluacion)/100;

Esos porcentajes los conoces antes de enviar la pagina al cliente estimo y deben ser globales a todo el formulario no?..si este es el caso puedes simplemente enviar un arreglo con los porcentajes a JS (mediante toba_js::arreglo()) o sacar el JS necesario para declarar dichos valores como variables en JS.
Podrias hacerlo utilizando el metodo extender_objeto_js() del Ci, seria algo simple estilo:


echo ' var porcentaje_trabajos = ' . $porcentaje_total_trabajo . ';';
....

De esa forma te quedarian las variables declaradas en el scope global para luego accederlas con la formula que tenias. Si es algo mas dinamico que depende del valor de algun campo del formulario tendrias que hacerlo pasar por un metodo que haga el pedido ajax, recupere los valores de la respuesta y luego dispare el calculo de la formula.

Saludos

Ingeniero, el toba_js::arreglo() lo trabajo en PHP ?
como lo recupero en el JS ? o es transparente; tengo claro en PHP:

el toba::memoria().set_dato_instancia() para cargar y
el toba::memoria().get_dato_instancia() para recuperar

Gracias

Hola John,

la clase toba_js actua del lado del servidor, la funcion devuelve un string con la declaracion del arreglo en JS… osea que lo que deberias hacer simplemente es un


echo 'var mi_arreglo_js = ' . toba_js::arreglo($arreglo);

Luego en JS lo accedes normalmente como accederias a cualquier objeto Array.

Saludos
Richard