Hola. Tengo un problema al insertar una imagen. Tengo varios registros, y al cargar (o editar) una imagen a uno de los registros, me actualiza en todos.
Este es el código del ci
function conf__form(final_ei_formulario $form)
{
if (isset($this->s__datos['form'])) {
$form->set_datos($this->s__datos['form']);
} else {
if ($this->cn()->hay_cursor()) {
$datos = $this->cn()->get_tipos_zonas();
$this->s__datos['form'] = $datos;
$form->set_datos($datos);
} else {
$this->pantalla()->eliminar_evento('eliminar');
}
}
}
function evt__form__modificacion($datos)
{
$this->s__datos['form'] = $datos;
$this->cn()->set_tipos_zonas($datos);
}
Este es el código del cn
function get_tipos_zonas()
{
$fp_imagen = $this->dep('dr_tiposdezonas')->tabla('dt_tipos_zonas')->get_blob('mapa');
$datos = $this->dep('dr_tiposdezonas')->tabla('dt_tipos_zonas')->get();
if (isset($fp_imagen)) {
$temp_nombre = 'mapa' . $datos['id_tipo_zona'];
$temp_archivo = toba::proyecto()->get_www_temp($temp_nombre);
$temp_imagen = fopen($temp_archivo['path'], 'w');
stream_copy_to_stream($fp_imagen, $temp_imagen);
fclose($temp_imagen);
$tamanio_mapa = round(filesize($temp_archivo['path']) / 1024);
$datos['mapa_vista'] = "<img src = '{$temp_archivo['url']}' alt=\"Imagen\" WIDTH=180 HEIGHT=150 >";
$datos['mapa'] = 'Tamanio foto actual: '.$tamanio_mapa.' KB';
} else {
$datos['mapa'] = null;
}
return $datos;
}
function set_tipos_zonas($datos)
{
$this->dep('dr_tiposdezonas')->tabla('dt_tipos_zonas')->set($datos);
if (is_array($datos['mapa'])) {
$temp_archivo = $datos['mapa']['tmp_name'];
$fp = fopen($temp_archivo, 'rb');
$this->dep('dr_tiposdezonas')->tabla('dt_tipos_zonas')->set_blob('mapa', $fp);
}
}
Adjunto una captura de los elementos del formulario