Desde una lista de actividades puedo seleccionar una de ellas y se me carga el formulario mencionado con los campos llenos con los valores que contiene esa actividad, extraidos de una base de datos. Para los input tipo text y los textares no tengo problema, pero los input tipo checkbox y en los select no sé cómo rellenarlos.
Os dejo mis archivos. Por un lado parte de la clase Trabajos:
Código:
el archivo reportes.php desde el que llamo a las funciones y plasmo en las plantillas.<?php
include_once ("Consulta.class.php");
include_once("SesionCentral.class.php");
include_once("Constantes.class.php");
include_once("Mensaje.class.php");
class Trabajos extends SesionCentral{
function _construct(){
parent::_construct;
}
function MostrarPorIdentificador($idtrabajo){
$query ="SELECT idtrabajo, indi, grupo, cliente, proyecto, interlocutor, f_inicio, f_fin, ";
$query.="descripcion, cantidad, escalado, descripcionescalado, preciototal, pago_actuacion, ";
$query.="nocturna, comentarios, status_idstatus, descripcionstatus, actividades_Id_actividad, ";
$query.="consultores_Ident_consultor, pagohoras, horas FROM trabajos WHERE idtrabajo='$idtrabajo';";
$consulta = new Consulta($query);
if($fila = $consulta->obtener_fila()) {
$this->idtrabajo = $fila['idtrabajo'];
$this->indi = $fila['indi'];
$this->grupo = $fila['grupo'];
$this->cliente = $fila['cliente'];
$this->proyecto = $fila['proyecto'];
$this->interlocutor = $fila['interlocutor'];
$this->f_inicio = $fila['f_inicio'];
$this->f_fin = $fila['f_fin'];
$this->descripcion = $fila['descripcion'];
$this->cantidad = $fila['cantidad'];
$this->escalado = $fila['escalado'];
$this->descripcionescalado = $fila['descripcionescalado'];
$this->preciototal = $fila['preciototal'];
$this->pago_actuacion = $fila['pago_actuacion'];
$this->nocturna = $fila['nocturna'];
$this->comentarios = $fila['comentarios'];
$this->status_idstatus = $fila['status_idstatus'];
$this->descripcionstatus = $fila['descripcionstatus'];
$this->actividades_Id_actividad = $fila['actividades_Id_actividad'];
$this->consultores_Ident_consultor = $fila['consultores_Ident_consultor'];
$this->pagohoras = $fila['pagohoras'];
$this->horas =$fila['horas'];
}
}
public function obtenerClientes(){ /*($proyecto) el objetivo es obtener los clientes según el proyecto seleccionado JQUERY, AJAX, JS...*/
$query = "SELECT Id_cliente, cliente FROM clientes order by cliente ASC";
$consulta = new Consulta($query);
/*if($fila = $consulta->obtener_fila()) {
$grupos = array (
'Idgrupo' =>$fila['Idgrupo']
);}*/
$clientes = "<select name='".cliente."'>\n";
if(isset($trabajo->cliente)) {
$clientes.="<option value='". $trabajo->cliente."'>".print $trabajo->cliente."</option>";
while($fila=$consulta->obtener_fila()){
//concatenamos y le damos el value a la opcion
$clientes .= " <option value='".$fila['cliente']."'>".$fila['cliente']."</option>";}
//concatenamos y cerramos el select
$clientes .= "</select>\n"; }
else{
$clientes = "<select name='".cliente."'>\n";
while($fila=$consulta->obtener_fila()){
//concatenamos y le damos el value a la opcion
$clientes .= " <option value='".$fila['cliente']."'>".$fila['cliente']."</option>";}
//concatenamos y cerramos el select
$clientes .= "</select>\n";
}
$cliente=$trabajo->cliente;
return $clientes;
}
}
Código:
<?php
session_start();
include_once "./clases/Template.php";
include_once "./clases/Usuario.class.php";
include_once "./clases/Trabajos.class.php";
$tpl =new Template();
$usuario= new Usuario();
$trabajo= new Trabajos();
$tpl_cabecera = new Template();
$tpl_pie = new Template();
$tpl_cuerpo = new Template();
$tpl_cabecera->set_vars(array( 'usuario_actual' => $usuario->obtenerUsuarioIdActual()));
$accion = isset($_REQUEST['accion']) ? $_REQUEST['accion'] : 'desconocido';
switch ($accion){
case 'anadir':
if (isset($usuario_actual)){
try{
$tpl->set_vars(array(
'proyecto' => $usuario->obtenerProyectos($usuario->obtenerUsuarioIdActual()),
'grupo' => $usuario->obtenerGrupos($usuario->obtenerUsuarioIdActual()),
'cliente' => $usuario->obtenerClientes(),
'interlocutor' => $usuario->obtenerInterlocutores(),
'statu' => $usuario->obtenerStatus(),
'actividad' => $usuario->obtenerActividades()));
}
catch (Exception $e) {
$tpl_report->set('error_msg',$e->getMessage());
}}
$tpl->set('accion','guardar');
$tpl_cuerpo = 'reporte_anadir.tpl.php';
break;
case 'guardar':
try {
Trabajos::insertarTrabajo($_POST['group'],$_POST['proyecto'],$_POST['cliente'],$_POST['interlocutor'],$_POST['activiti'],$_POST['fechainicio'],$_POST['fechafin'],$_POST['descripcion'],$_POST['status'],$_POST['descripcionstatus'],$_POST['cantidad'],$_POST['escalado'],$_POST['descripcionescalado'],$_POST['pago'],$_POST['nocturna'],$_POST['pagohoras'], $_POST['horas']);
} catch (Exception $e){
print $e->getMessage();
}
$tpl_cuerpo = 'reporte_inicio.tpl.php';
break;
case 'editar':
try{
$tpl->set_vars(array(
'cliente' => $usuario->obtenerClientes()));
}
catch (Exception $e) {
$tpl->set('error_msg',$e->getMessage());
}
$trabajo = new Trabajos;
$trabajo->MostrarPorIdentificador($_GET['idtrabajo']);
$tpl->set('trabajo',$trabajo);
$tpl->set('accion','modificar');
$tpl_cuerpo = 'reporte_anadir.tpl.php';
break;
case 'modificar':
$trabajo = new Trabajos($_POST['idtrabajo']);
$trabajo->modificarTrabajos($_POST['idtrabajo']);
$tpl_cuerpo = 'reporte_inicio.tpl.php';
break;
case 'vereliminar':
$trabajo = new Trabajo($_GET['idtrabajo']);
$tpl->set('trabajo',$trabajo);
$tpl_cuerpo = 'reporte_eliminar.tpl.php';
break;
case 'eliminar':
try {
$trabajo = new Trabajos($_POST['idtrabajo']);
$trabajo->eliminarTrabajo($_POST['idtrabajo']);
} catch (Exception $e){
$tpl->set('error_msg', $e->getMessage());
}
$tpl_cuerpo = 'reporte_inicio.tpl.php';
break;
default:
$tpl_cuerpo = 'reporte_inicio.tpl.php';
}
$tpl->set('reportes_lista_de_hoy', Trabajos::resumenTrabajoHoy());
$tpl->set('cabecera', $tpl_cabecera->fetch('cabecera.tpl.php'));
$tpl->set('pie', $tpl_pie->fetch('pie.tpl.php'));
echo $tpl->fetch($tpl_cuerpo);


