public function autoeditar($nombrecampo, $valorcampo, $comentarios) { include_once 'diseno.php'; $pg = new Diseno(); //**************************************************************** switch ($comentarios['edicion']) { case 'dropdown': $tablareferenciada = $comentarios['referencia']; // Se obtiene la tabla referenciada mediante FK //=============================================================================================================== //Sintaxis para obtener los comentarios de la tabla referenciada $intaxis = 'SELECT COLUMN_NAME, DATA_TYPE, COLUMN_KEY, COLUMN_COMMENT FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA="controlactividades" AND TABLE_NAME="' . $tablareferenciada . '"'; $cont = 0; $cols = ''; $this->db->query($intaxis); while ($datos = $this->db->fetch()) { $desc = array(); $descripcion = array(); $columna = $datos[0]; //Columna a para construir el dropdown $desc = $datos[3]; //Captura de columna comentarios $desc = explode(';', $desc); foreach ($desc as $valores) { $parts = explode(':', $valores); $ind = $parts[0]; $descripcion[$ind] = $parts[1]; } if ($descripcion['desplegar'] === 'SI') { // Si el campo est\E1 identificado como desplegar quiere decir que ser\E1 el que se utilize como option dentro de un DropDown $cols = $cols . 'CONCAT(' . $columna . ')'; $cont++; if ($cont > 1) { $cols = str_replace(')CONCAT(', ' ," ", ', $cols); } //echo $cols.'<br><br>'; $syn = 'SELECT id,' . $cols . ' FROM ' . $tablareferenciada . ' WHERE id>0'; //echo $syn.'<br>'; $i = '<td>' . $comentarios['nombre'] . '</td><td>' . $pg->TAGselectSQL($nombrecampo, 0, $valorcampo, $syn) . '</td>'; } //================================================================================================================================================ } break; //Caso de que sea checkbox //Caso de que sea checkbox case 'checkbox': $i = '<td>' . $comentarios['nombre'] . '</td><td><input type="checkbox" value="1"></td>'; break; //Caso de que sea radio armar\E1 la etiqueta RadioButton //Caso de que sea radio armar\E1 la etiqueta RadioButton case 'radio': if (empty($comentarios['valores'])) { $comentarios['valores'] = "SI\\AC1~NO\\AC0"; } $values = explode('~', $comentarios['valores']); foreach ($values as $valores) { $parts = explode('\\AC', $valores); $idx = $parts[0]; $value[$idx] = $parts[1]; } $i = '<td>' . $comentarios['nombre'] . '</td><td>'; foreach ($value as $ind => $valor) { $checked = ''; if ($ind === 'NO') { $checked = 'checked'; } $i .= $ind . '<input type="radio" name="' . $nombrecampo . '" value="' . $valor . '" checked="' . $checked . '">'; } $i .= '</td>'; break; //Caso de que sea password armar\E1 la etiqueta para contrase\F1a //Caso de que sea password armar\E1 la etiqueta para contrase\F1a case 'password': $i = '<td>' . $comentarios['nombre'] . '</td><td>' . $pg->editar('clave', $nombrecampo, '45', '45', $valorcampo, '') . '</td>'; break; //En caso de que sea dia armar\E1 el dropdown de los d\EDas //En caso de que sea dia armar\E1 el dropdown de los d\EDas case 'dia': $ds = $pg->TAGselectDIAS($nombrecampo, ''); $i = '<td>' . $comentarios['nombre'] . '</td><td>' . $ds . '</td>'; break; case 'mes': $ms = $pg->TAGselectMESES($nombrecampo, ''); $i = '<td>' . $comentarios['nombre'] . '</td><td>' . $ms . '</td>'; break; case 'ano': $as = $pg->TAGselectANOS($nombrecampo, '', 2012, 2050); $i = '<td>' . $comentarios['nombre'] . '</td><td>' . $as . '</td>'; break; //En caso de que sea texto construir\E1 un textbox //En caso de que sea texto construir\E1 un textbox case 'texto': $i = '<td>' . $comentarios['nombre'] . '</td><td>' . $pg->editar('campo', $nombrecampo, '45', '90', $this->obtener($nombrecampo), '', 'required', '') . '</td>'; break; //En caso de que sea textarea construir\E1 un textarea //En caso de que sea textarea construir\E1 un textarea case 'textarea': $i = '<td>' . $comentarios['nombre'] . '</td><td>' . $pg->editar('texto', $nombrecampo, '3', '30', $this->obtener($nombrecampo), '') . '</td>'; break; } return $i; }