Cuando hago un ei_arbol($datos); después de hacer $datos = $this->dep("datos")->tabla("pacientes")->get(); en el método conf__formulario del ci el último campo de la tabla me lo reemplaza por x_dbr_clave, como muestro en la captura de pantalla:
Buenas tardes,
Ese campo x_dbr_clave, es propio del framework en el datos tabla y dicho valor corresponde a la fila seleccionada en Editar, funciona como un array de filas y columnas.
Gracias por la respuesta, pero quiero saber por qué me elimina el último campo de la tabla (que se llama imagen), y como puedo hacer para que no lo elimine para poder mostrar la foto del paciente.
Los campos y valores vienen del sql ejecutado que carga el cuadro y para reconstruir la imagen se debe hacer lo que hiciste antes con imagen_vista_previa.
Sí, lo tengo tal como me lo pasaste en el otro posteo, funcionaba perfecto, pero ahora dejó de funcionar, incluso no anda cuando quiero agregar un registro nuevo o modificar uno existente, sube el archivo perfecto, pero no modifica el campo imagen en la tabla.
Este es el código de dt_pacientes.php:
<?php
class dt_pacientes extends ciftoba_datos_tabla
{
function get_listado($filtro=array())
{
$where = array();
if (isset($filtro['apellidos'])) {
$where[] = "apellidos ILIKE ".quote("%{$filtro['apellidos']}%");
}
if (isset($filtro['nombres'])) {
$where[] = "nombres ILIKE ".quote("%{$filtro['nombres']}%");
}
if (isset($filtro['email'])) {
$where[] = "email ILIKE ".quote("%{$filtro['email']}%");
}
$sql = "SELECT
t_p.id_paciente,
t_p.apellidos,
t_p.nombres,
td.descripcion,
t_p.nrodoc,
t_p.fecnac,
s.sexo,
t_p.vive_con,
pn.nombre as pais_nacimiento,
pr.nombre as pais_residencia,
pro.provincia,
l.localidad,
t_p.telefono,
t_p.celular,
t_p.email,
t_p.barrio,
t_p.certificado_discapacidad,
t_p.obra_social,
t_p.anamnesis,
t_p.imagen
FROM
pacientes as t_p
inner join tipos_documentos td on td.id_tipo=t_p.id_tipo
inner join sexos s on s.id_sexo=t_p.id_sexo
left join paises pn on pn.id_pais=t_p.pais_nacimiento
left join paises pr on pr.id_pais=t_p.pais_residencia
left join provincias pro on pro.id_provincia=t_p.provincia
left join localidades l on l.id_localidad=t_p.localidad
ORDER BY apellidos, nombres";
if (count($where)>0) {
$sql = sql_concatenar_where($sql, $where);
}
return toba::db('ciftoba')->consultar($sql);
}
}
?>
Lo que habrá que revisar es el comportamiento del conf__form y form__modificacion, es hay donde se hacen las actualizaciones del nombre del archivo en la BD
No tiene mucha lógica volver a leer el datos tabla, sabiendo que en el método preparar descarga ya se ha enviado el registro del formulario, sería solo
Muchas gracias, eso quedó resuelto, pero sigue sin mostrar la imagen, ¿puede ser porque en toba_editor cambié el nombre del ef imagen por archivo? ¿cómo hago para que reconozca a $datos[“imagen”] como campo de la base de datos?
ei_arbol($datos); después de hacer $datos = $this->dep("datos")->tabla("pacientes")->get();
usa mejor print_r($datos); y hay te deberá mostrar el array de datos que vienen del datos tabla, en este caso [‘imagen’] => ‘nombre_archivo.xxx’;
si no lo muestra es que debes recargar el datos tabla por que no lo estas incluyendo, ese es el puente con la BD.
Otro asunto que me atrevo a adivinar es que NO estás incluyendo en el front-end del formulario el campo imagen, incluyelo como ef_oculto, porque si no no navega en ```
function evt__formulario__modificacion($datos)
NO, el archivo es un campo temporal para capturar el archivo, y el imagen es el que va a guardar el nombre del archivo; pueden ir los dos y el imagen como ef_oculto, si no lo tienes es por eso que NO te lo muestra.
Le tengo que poner solo lectura en modificacion? O qué tengo que hacer para que me aparezca?
Lo agregué como ef_oculto y sigue sin aparecer con ei_arbol.
Hola Matias, en la definición del datos tabla “pacientes”, en el toba editor, tenes el campo imagen? Me ha pasado de agregar nuevas columnas a una tabla, en la BD, y no agregarlas en la definición del datos tabla y me pasaba lo mismo.