arreglos en la api simple para mostrar contenido de formularios anidados

This commit is contained in:
fredyrivera 2017-10-11 13:32:30 -05:00
parent 2d7e035c27
commit 57a65577df
2 changed files with 92 additions and 32 deletions

View File

@ -111,7 +111,7 @@ if ($variable !=''){
$background_imagen = $background_imagen[0];
$uri_set = "";
$acceso = 1;
$menu ="<h1>Hola mundo( $titulo[0] $id_empresa )</h1>
$menu ="<h1>$titulo[0]</h1>
<div class='col-sm-2 hidden-xs hidden-sm'>
<div class='container'>
<nav style=' max-height:95% !important ; overflow:auto !important; ' id='toc' data-spy='affix' data-toggle='toc'></nav>

View File

@ -4223,7 +4223,7 @@ $consulta= " SELECT * FROM form_campos WHERE id = id $w_empresa $w_especialista
mysqli_data_seek($sql, 0);
mysqli_data_seek($sql_total, 0);
while( $row = mysqli_fetch_array( $sql ) ) {
$tipo_nombre = remplacetas_noid('form_tipo_campo','id_tipo_campo',"$row[campo_tipo]",'tipo_campo_nombre',"") ;
$tipo_nombre = remplacetas_noid('form_tipo_campo','id_tipo_campo',"$row[campo_tipo]",'tipo_campo_nombre',"",'') ;
$campo_tipo ="<small title='$row[campo_tipo]'>$tipo_nombre[0]</small> ";
if($_SESSION['id_empresa'] == $row['id_empresa']) {
$row['campo_nombre']= editar_campo("form_campos","$row[id]","campo_nombre","","","","");
@ -4280,25 +4280,35 @@ $consulta= " SELECT * FROM form_campos WHERE id = id $w_empresa $w_especialista
}
$xajax->registerFunction("campos_tabla");
function remplacetas_noid($tabla,$campo,$valor,$por,$and){
function remplacetas_noid($tabla,$campo,$valor,$por,$and,$limit){
if($limit =="") { $limite="LIMIT 1";}else{$limite= "LIMIT $limit";}
$link=Conectarse();
mysqli_set_charset($link, "utf8");
if(@$and !=''){$AND = "AND $and";}else{$AND ="";}
$consulta = "SELECT * , md5(binary $por ) as md5_".$por." FROM $tabla WHERE $campo = '$valor' $AND order by $campo DESC limit 1";
$consulta = "SELECT * , md5(binary $por ) as md5_".$por." FROM $tabla WHERE $campo = '$valor' $AND order by $campo DESC $limite";
//$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){
$resultado[] = mysqli_result($sql,0,$por);
$resultado[] = mysqli_result($sql,0,"$campo");
$resultado[] = $consulta;
$resultado[] = mysqli_result($sql,0,"md5_$por");
if($limit =="") {
$resultado[0] = mysqli_result($sql,0,$por);
$resultado[1] = mysqli_result($sql,0,"$campo");
$resultado[2] = $consulta;
$resultado[3] = mysqli_result($sql,0,"md5_$por");}
else {
$row = mysqli_fetch_array( $sql );
$resultado[0]=$row;
$resultado[1] = mysqli_result($sql,0,"$campo");
$resultado[2] = $consulta;
$resultado[3] = mysqli_result($sql,0,"md5_$por");
}
}else{
$resultado[0] = '';
$resultado[1] ="";
$resultado[2] = $consulta;
$resultado[3] = NULL;
}
return $resultado;
}
@ -4988,16 +4998,33 @@ $resultado = "<div class=''> $datos</div>";
$xajax->registerFunction("consultar_formulario");
function datos_array($identificador) {
function datos_array($identificador,$id_form,$timestamp) {
if($id_form !="") { $w= "AND form_id ='$id_form' "; }else { $w= " "; }
$array = array();
$link=Conectarse();
mysqli_set_charset($link, "utf8");
$consulta ="SELECT * FROM form_datos WHERE control = '$identificador'
GROUP BY id_campo ORDER BY timestamp DESC ";
$sql = mysqli_query($link,$consulta) or die("Error al ejecutar consulta 02 ");
$array = array();
$array["identificador"] = "$identificador";
if($timestamp != "") {
$consulta = "SELECT * FROM form_datos
WHERE control = '$identificador' AND form_id != '$id_form' GROUP BY form_id , timestamp
";
// $array["consulta"] = "$consulta";
// return $timestam;
}else{
$consulta ="SELECT * FROM form_datos WHERE control = '$identificador' $w $w_timestamp
GROUP BY timestamp ORDER BY timestamp DESC ";
}
$sql = mysqli_query($link,$consulta) or die("Error al ejecutar consulta 02 ");
// $id_form = remplacetas('form_datos','control',"$identificador",'form_id'," form_id= '$id_form'") ;
$array["identificador"] = "$identificador";
$array["id_aplicacion"] = "$id_form";
//$array["consulta_form"] = "$id_form[2]";
//$array["consulta"] = "$consulta";
$con_respuesta = remplacetas_noid("form_id","formulario_respuesta","$id_form","id","","");
//$array["responde"] = json_decode("$con_respuesta[3]");
$array["responde"] = $con_respuesta[0];
while($row = mysqli_fetch_array( $sql ))
{
$id_campo = remplacetas('form_datos','id',$row["id"],'id_campo',"") ;
@ -5035,12 +5062,48 @@ if($privado !='1') {
$array['orden'] = "$row[orden]";
// $array['multiple']= $multiple[0];
//$array[] = $row;
if($con_respuesta[0] !="") {
//$contenido_respuestas = datos_array("$identificador","$row[form_id]","$row[timestamp]");
$contenido_respuestas = array_respuestas("$row[form_id]",$identificador,"array");//formulario_imprimir("$row[form_id]","$identificador","array",""); ///array_respuestas("$row[form_id]","$row[control]","json");
$array["responder"]= $contenido_respuestas;//"$contenido_respuestas $row[control] //$row[timestamp] // $row[form_id]";
}
}
}
return $array;
}
function array_respuestas($id,$identificador,$plantilla) {
if($id=='') {return;}
$id = mysql_seguridad($id);
$formulario_respuesta = formulario_respuesta("$id","$identificador");
$consulta = "SELECT form_id , timestamp FROM form_datos
WHERE control = '$identificador' AND form_id != '$id' GROUP BY form_id , timestamp
";
$array = array();
$link=Conectarse();
mysqli_set_charset($link, "utf8");
$sql=mysqli_query($link,$consulta);
if (mysqli_num_rows($sql)!='0'){
mysqli_data_seek($sql, 0);
$resultado ="";
while( $row = mysqli_fetch_array( $sql ) ) {
$respuesta[] = mostrar_identificador("$identificador","$row[form_id]","array","array","$row[timestamp]");
$fecha = date($format, $row['timestamp']);
}$array[] = $respuesta;
}else{$resultado ="";}
//$resultado = "$resultado $formulario_respuesta";
//return $resultado;
return $array;
}
function parametrizacion_linea($tabla,$campo,$opcion,$descripcion,$div,$script,$item){
if(isset($_SESSION['id_empresa']) ){$id_empresa= $_SESSION['id_empresa']; }else{ return;//$id_empresa="";
@ -6298,7 +6361,7 @@ function mostrar_identificador($control,$form,$plantilla,$tipo,$timestamp){
$edicion
</div>
"; }else {
$resultado = "$impresion";
$resultado = $impresion;
}
}else{
$resultado ="<div class='container alert alert-warning alert_sin_resultados'><h1>No hay resultados 0002</h1></div>";
@ -8636,21 +8699,12 @@ mysqli_set_charset($link, "utf8");
$id_campo = @remplacetas('form_datos','id',$row["id_dato"],'id_campo',"") ;
//if($privado != '1') {
//$contenido = remplacetas('form_datos','id',$row[id_dato],'contenido',"") ;
//$contenido = remplacetas_orden('form_datos','id',$row[id_dato],'contenido',""," ORDER BY timestamp DESC ") ;
$nombre_campo = remplacetas('form_campos','id',$id_campo[0],'campo_nombre',"") ;
$nuevos_datos = $datos;
$nuevos_datos["identificador"]="$row[control]";
$nuevos_datos["tipo"]="array";
//$features[$row[control]] = datos_array($row[control]) ;
//json($nuevos_datos);//" $contenido[0]";//$row[id_campo];
$features[] = datos_array($row["control"]) ;
//$multiple = remplacetas('form_contenido_campos','id_form',$row['form_id'],'multiple',"id_campo ='$id_campo[0]' ") ;
///$features[] = "multiple:'holamundo $id_campo[0] // $multiple[0]'" ;
// $features[consulta] = "$consulta";
//json($nuevos_datos);//" $contenido[0]";//$row[id_campo];
//}//
$features[] = datos_array($row["control"],"$datos[id]","") ;
}
else {
// $features[] = $row;
@ -10031,7 +10085,7 @@ if (mysqli_num_rows($sql)!='0'){
"; }else{ $contenido ="<div class='alert alert-danger'>No se ha definido un token de mapbox</div>";}
}
}
elseif($campo_tipo=='4'){ $contenido = "<a href='$contenido' target='_blank'>$contenido</a>";}
elseif($campo_tipo=='4'){ if($tipo=="array"){ $contenido = $contenido;}else { $contenido = "<a href='$contenido' target='_blank'>$contenido</a>";}}
elseif($campo_tipo=='18'){ $contenido = "";}
elseif($campo_tipo=='20'){ $contenido = ""; $campo_nombre[0]="";}
elseif($campo_tipo=='23'){
@ -10095,7 +10149,7 @@ if (mysqli_num_rows($sql)!='0'){
}
//////}
$campo_nombre = remplacetas('form_campos','id',$row['id_campo'],'campo_nombre','');
if($campo_tipo=='20'){ $campo_nombre[0] = "";}
@ -10138,7 +10192,7 @@ $campo_imagen = $campo_imagen[0];
//$array[icon][iconSize] =[50,50];
}else{}
$array = array();
if($contenido_original !="") {
//// si el campo es tipo password (18) no se muestra
if($campo_tipo !='18'){
@ -10152,16 +10206,22 @@ if($contenido_original !="") {
<span tiple= '$campo_tipo' class='campo_titulo campo_nombre' id='nombre_$row[id_campo]'>$campo_nombre[0]</span><span class='pull-right'> $metadatos</span><br>
$contenido</p>
</div>";
}
$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") {
$plantilla="";
$class="";
if($tipo =="array") {
return $array;
}
if($tipo !="" AND (!is_numeric($tipo)) AND $tipo !="metadatos" ) {
////Usa una plantilla apra cada id