optimizacion consultas basadas en vistas
This commit is contained in:
parent
ec812e6f85
commit
307bc9bc88
@ -7368,12 +7368,18 @@ return "$echo";
|
||||
}
|
||||
|
||||
function buscar_imagen($form,$control,$tipo,$empresa) {
|
||||
|
||||
|
||||
$vista = "form_".$form;
|
||||
$vista = existe_tabla("$vista") ;
|
||||
if($vista =='1'){$tabla="form_$form";}else{$tabla="form_datos";}
|
||||
|
||||
$imagen="";
|
||||
if($control !="") { $w_control = "AND form_datos.control ='$control'";}else{$w_control ="";}
|
||||
if($control !="") { $w_control = "AND $tabla.control ='$control'";}else{$w_control ="";}
|
||||
if ($form ==""){
|
||||
$consulta = "SELECT form_datos.id_empresa, contenido , campo_nombre , id_campo FROM form_id, form_datos, form_campos
|
||||
WHERE form_datos.id_campo = form_campos.id AND form_id.id = form_datos.form_id
|
||||
AND form_datos.id_empresa = '$empresa'
|
||||
$consulta = "SELECT $tabla.id_empresa, contenido , campo_nombre , id_campo FROM form_id, $tabla, form_campos
|
||||
WHERE $tabla.id_campo = form_campos.id AND form_id.id = $tabla.form_id
|
||||
AND $tabla.id_empresa = '$empresa'
|
||||
AND publico ='1' AND form_campos.campo_tipo='15' ORDER BY rand() limit 1 ";
|
||||
$link=Conectarse();
|
||||
mysqli_set_charset($link, "utf8");
|
||||
@ -7388,7 +7394,7 @@ if($tipo == "consulta") { return $consulta; }
|
||||
$publico = remplacetas('form_id','id',"$form",'publico',"") ;
|
||||
if($publico[0] !="0" ){
|
||||
$campo_imagen = buscar_campo_tipo("$form","15");
|
||||
$imagen = remplacetas('form_datos','form_id',$form,'contenido'," id_campo = '$campo_imagen[0]' $w_control") ;
|
||||
$imagen = remplacetas("$tabla",'form_id',$form,'contenido'," id_campo = '$campo_imagen[0]' $w_control") ;
|
||||
//$imagen = "$imagen[0]";
|
||||
return $imagen[0];
|
||||
}
|
||||
@ -11859,10 +11865,14 @@ $claves = $claves[0];
|
||||
$key = @explode(':',$claves[1]) ;
|
||||
$key = @$key[1];
|
||||
$descripcion = @explode(':',$claves[2]) ;
|
||||
$vista = "form_".$formulario;
|
||||
$vista = existe_tabla("$vista") ;
|
||||
if($vista =='1'){$tabla="form_$formulario";}else{$tabla="form_datos";}
|
||||
|
||||
if(isset($descripcion[1])){$descripcion = $descripcion[1];
|
||||
$campo2 = remplacetas("form_datos","control","$valor","contenido","form_id = '$formulario' AND id_campo = '$descripcion' ");
|
||||
$campo2 = remplacetas("$tabla","control","$valor","contenido","form_id = '$formulario' AND id_campo = '$descripcion' ");
|
||||
}else{$campo2[0] ="";}
|
||||
$campo1 = remplacetas("form_datos","control","$valor","contenido","form_id = '$formulario' AND id_campo = '$key' ");
|
||||
$campo1 = remplacetas("$tabla","control","$valor","contenido","form_id = '$formulario' AND id_campo = '$key' ");
|
||||
$imprimir = @"<strong>$campo1[0] $campo2[0]";
|
||||
|
||||
|
||||
@ -12898,6 +12908,7 @@ function imprime_geojson($id,$id2,$plantilla,$busqueda,$item){
|
||||
$campo2 = buscar_campo_tipo($id_form2,"14");
|
||||
$id_campo = $campo[0];
|
||||
$id_campo2 = $campo2[0];
|
||||
$campo_titulo = remplacetas('form_parametrizacion','campo',$id_form,'descripcion'," tabla='form_id' and opcion = 'titulo'") ;
|
||||
$geometria ="";
|
||||
$or_2 ="";
|
||||
$w_id2="";
|
||||
@ -12959,7 +12970,7 @@ while( $row = mysqli_fetch_array( $sql ) ) {
|
||||
$propiedades = array();
|
||||
$propiedades['icon']['iconUrl']="";
|
||||
$identificador = explode(',',$row['data']);
|
||||
$localizacion = remplacetas('form_datos','control',$row['control'],'contenido',"id_campo = '$id_campo'") ;
|
||||
$localizacion = remplacetas($tabla,'control',$row['control'],'contenido',"id_campo = '$id_campo'") ;
|
||||
|
||||
$identificador = $identificador[0];
|
||||
//$campos = explode(" ",$identificador);
|
||||
@ -12981,9 +12992,9 @@ while( $row = mysqli_fetch_array( $sql ) ) {
|
||||
|
||||
}
|
||||
else {
|
||||
$campo_titulo = remplacetas('form_parametrizacion','campo',$id_form,'descripcion'," tabla='form_id' and opcion = 'titulo'") ;
|
||||
|
||||
$titulo = remplacetas('form_datos','id_campo',$campo_titulo[0],'contenido'," control = '$row[control]' ") ;
|
||||
|
||||
$titulo = remplacetas("$tabla",'id_campo',$campo_titulo[0],'contenido'," control = '$row[control]' ") ;
|
||||
|
||||
$propiedades['description'] ="$titulo[0]"; }
|
||||
$propiedades['control'] = "$row[control]";
|
||||
@ -13002,7 +13013,7 @@ while( $row = mysqli_fetch_array( $sql ) ) {
|
||||
if($propiedades['icon']['iconUrl'] =="") {
|
||||
$icono_imagen = buscar_imagen("$id_form",$row['control'],"","");
|
||||
//$propiedades[icon][iconUrl] = "$_SESSION[site]/milfs/images/iconos/negro.png";
|
||||
$propiedades['icon']['iconUrl'] = "$_SESSION[url]images/secure/?file=150/$icono_imagen";
|
||||
$propiedades['icon']['iconUrl'] = "$_SESSION[url]images/secure/?file=150/$icono_imagen&$id_form";
|
||||
|
||||
}
|
||||
//$propiedades[sounds] ="";
|
||||
@ -13611,7 +13622,11 @@ return $contenido.$control;
|
||||
function contenido_mostrar($id,$control,$div,$plantilla){
|
||||
|
||||
if($id=="") {
|
||||
$value = remplacetas('form_datos','control',$control,'form_id',"") ;
|
||||
$vista = "form_".$id;
|
||||
$vista = existe_tabla("$vista") ;
|
||||
if($vista =='1'){$tabla="form_$id";}else{$tabla="form_datos";}
|
||||
|
||||
$value = remplacetas("$tabla",'control',$control,'form_id',"") ;
|
||||
$id= $value[0];
|
||||
}
|
||||
$respuesta = new xajaxResponse('utf-8');
|
||||
@ -13651,7 +13666,8 @@ function aplicacion_datos($id) {
|
||||
}
|
||||
function buscar_campo_tipo($id,$tipo) {
|
||||
//// esta función retorna el id para un campo de un tipo especifico dentro de un formulario.
|
||||
$consulta ="SELECT form_campos.id, form_campos.campo_nombre FROM form_tipo_campo,form_campos,form_contenido_campos
|
||||
$consulta ="SELECT form_campos.id, form_campos.campo_nombre
|
||||
FROM form_tipo_campo,form_campos,form_contenido_campos
|
||||
WHERE form_tipo_campo.id_tipo_campo = form_campos.campo_tipo
|
||||
AND form_contenido_campos.id_campo = form_campos.id
|
||||
AND form_tipo_campo.id_tipo_campo = '$tipo'
|
||||
@ -14316,12 +14332,19 @@ $xajax->registerFunction("editar_campo");
|
||||
|
||||
//@$impresion = formulario_imprimir("$id_form","$control","$plantilla",$timestamp)."";
|
||||
function formulario_imprimir($id,$control,$tipo,$timestamp) {
|
||||
// if($tabla =='form_datos' ){
|
||||
$vista = "form_".$id;
|
||||
$vista = existe_tabla("$vista") ;
|
||||
if($vista =='1'){$tabla="form_$id";}else{$tabla="form_datos";}
|
||||
|
||||
//return $tabla;
|
||||
// }
|
||||
|
||||
$tiene_plantilla = remplacetas('form_parametrizacion','campo',$id,'descripcion'," tabla='form_id' and opcion = 'plantilla:$tipo'") ;
|
||||
$tiene_plantilla_original = $tiene_plantilla;
|
||||
$tiene_plantilla = $tiene_plantilla[0];
|
||||
|
||||
$control_existe = remplacetas('form_datos','control',"$control",'id',"") ;
|
||||
$control_existe = remplacetas("$tabla",'control',"$control",'id',"") ;
|
||||
$contenido_full="";
|
||||
if(strlen($control) > 32) {
|
||||
$identificador_original= $control;
|
||||
@ -14331,13 +14354,13 @@ $tiene_plantilla = $tiene_plantilla[0];
|
||||
|
||||
$resultado ="";
|
||||
$limit ="";
|
||||
if (@$timestamp != ""){$where_timestamp = "AND form_datos.timestamp = '$timestamp' ";}ELSE { $where_timestamp = ""; }
|
||||
if (@$timestamp != ""){$where_timestamp = "AND $tabla.timestamp = '$timestamp' ";}ELSE { $where_timestamp = ""; }
|
||||
if(is_numeric($tipo)) { $limit = "limit $tipo "; $class= "alert alert-info";}
|
||||
//if($control != "") { $w_control = "AND control = '$control' ";}
|
||||
$id = mysql_seguridad($id);
|
||||
//$control = mysql_seguridad($control);
|
||||
if($id =="") {
|
||||
$id_seguridad = remplacetas('form_datos','control',$control,'form_id','') ;
|
||||
$id_seguridad = remplacetas("$tabla",'control',$control,'form_id','') ;
|
||||
$publico = remplacetas('form_id','id',$id_seguridad[0],'publico','') ;
|
||||
$id_seguridad = $id_seguridad[0];
|
||||
|
||||
@ -14366,18 +14389,19 @@ if(is_numeric($tipo)) { $limit = "limit $tipo "; $class= "alert alert-info";}
|
||||
//if($id !='') {$w_id = "AND form_id = '$id'";}else {$w_id='';}
|
||||
if($id !='') {
|
||||
$consulta = "SELECT *
|
||||
FROM form_contenido_campos , form_datos
|
||||
WHERE form_contenido_campos.id_campo = form_datos.id_campo
|
||||
AND form_datos.control = '$control'
|
||||
FROM form_contenido_campos , $tabla
|
||||
WHERE form_contenido_campos.id_campo = $tabla.id_campo
|
||||
AND $tabla.control = '$control'
|
||||
AND form_contenido_campos.id_form = '$id'
|
||||
$where_timestamp
|
||||
GROUP BY form_contenido_campos.id_campo,form_datos.orden
|
||||
GROUP BY form_contenido_campos.id_campo,$tabla.orden
|
||||
ORDER BY form_contenido_campos.orden ASC
|
||||
$limit
|
||||
";
|
||||
}else {
|
||||
$consulta = "SELECT *FROM form_contenido_campos , form_datos WHERE form_datos.control = '$control' AND form_contenido_campos.id_campo = form_datos.id_campo $where_timestamp GROUP BY form_contenido_campos.id_campo,form_datos.orden" ;
|
||||
$consulta = "SELECT *FROM form_contenido_campos , $tabla WHERE $tabla.control = '$control' AND form_contenido_campos.id_campo = $tabla.id_campo $where_timestamp GROUP BY form_contenido_campos.id_campo,$tabla.orden" ;
|
||||
}
|
||||
//return $consulta;
|
||||
$control = mysql_seguridad($control);
|
||||
|
||||
$link=Conectarse();
|
||||
@ -14640,6 +14664,7 @@ $array_contenido[$campo_nombre[0]][] = $contenido;
|
||||
|
||||
}
|
||||
$array=$array_contenido;
|
||||
|
||||
//$resultado .=" </div> <!-- <div class='badge pull-right'>Datos registrados el $fecha </div> --> ";
|
||||
//}else {$resultado ="<div class='alert alert-warning'><h1>No se encontraron resultados</h1></div>"; return $resultado;}
|
||||
//if($id=="6" OR $id=="10") {
|
||||
@ -15697,7 +15722,7 @@ if(@$and !=''){$AND = "AND $and";}else{$AND ="";}
|
||||
$consulta = "SELECT * , md5(binary $por ) as md5_".$por." FROM $tabla WHERE $campo = '$valor' $AND order by id DESC limit 1";
|
||||
$sql=mysqli_query($link,$consulta);
|
||||
if (@mysqli_num_rows($sql)!=0){
|
||||
if($por =='contenido' AND $tabla=='form_datos'){
|
||||
if($por =='contenido' AND $tabla=="$tabla"){
|
||||
//$resultado[0] = mysqli_result($sql,0,$por);
|
||||
$resultado[0]=str_replace('\n','<br>',mysqli_result($sql,0,$por));
|
||||
}else{
|
||||
@ -18026,8 +18051,12 @@ AND `control` = '$id_control' $campo_orden
|
||||
GROUP BY orden
|
||||
ORDER BY timestamp $limite ";
|
||||
*/
|
||||
$vista = "form_".$perfil;
|
||||
$vista = existe_tabla("$vista") ;
|
||||
if($vista =='1'){$tabla="form_$perfil";}else{$tabla="form_datos";}
|
||||
|
||||
$consulta = "SELECT *,GROUP_CONCAT(id ORDER by timestamp desc ) as identificador
|
||||
FROM `form_datos`
|
||||
FROM `$tabla`
|
||||
WHERE form_id = '$perfil'
|
||||
AND id_campo ='$id_campo' $valor
|
||||
AND control ='$id_control' $campo_orden
|
||||
@ -18054,7 +18083,7 @@ if($cant === 1) {
|
||||
$identificador=mysqli_result($sql,0,"identificador");
|
||||
$identificador = explode(',',$identificador);
|
||||
$identificador = $identificador[0];
|
||||
$contenido_campo = remplacetas('form_datos','id',$identificador,'contenido',"") ;
|
||||
$contenido_campo = remplacetas("$tabla",'id',$identificador,'contenido',"") ;
|
||||
$md5_contenido = $contenido_campo[3];
|
||||
//$md5_contenido = remplacetas('form_datos','id',$identificador,' md5(binary contenido) as md5_contenido ',"") ; //md5(binary contenido) as md5_contenido,
|
||||
//$md5_contenido = $md5_contenido[0];
|
||||
@ -18064,11 +18093,11 @@ if($cant === 1) {
|
||||
while( $row = mysqli_fetch_array( $sql ) ) {
|
||||
$identificador = explode(',',$row['identificador']);
|
||||
$identificador = $identificador[0];
|
||||
$contenido_campo = remplacetas('form_datos','id',$identificador,'contenido',"") ;
|
||||
$contenido_campo = remplacetas("$tabla",'id',$identificador,'contenido',"") ;
|
||||
$contenido .= "$contenido_campo[0]\n";
|
||||
$contenido_li .= "<li>$contenido_campo[0]</li>";
|
||||
$contenido_array[]=$contenido_campo[0];
|
||||
$editable .= "<li>".editar_campo("form_datos","$identificador","contenido","","","","")."</li>";
|
||||
$editable .= "<li>".editar_campo("$tabla","$identificador","contenido","","","","")."</li>";
|
||||
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user