implementacion campo multiselect

This commit is contained in:
fredyrivera 2017-02-24 20:00:43 -05:00
parent 7d02abf6c9
commit a4d425b26a

View File

@ -1,6 +1,69 @@
<?php <?php
date_default_timezone_set('America/Bogota'); date_default_timezone_set('America/Bogota');
function json_render($contenido,$tipo,$control){
$campos = "$tipo,$contenido";
$datos = json_decode($contenido, true);
if ($tipo == "html"){
foreach ($datos as $id_campo => $valor) {
$campo_nombre = remplacetas('form_campos','id',"$id_campo",'campo_nombre',"") ;
$campo_descripcion = remplacetas('form_campos','id',"$id_campo",'campo_descripcion',"") ;
foreach ($valor as $c => $v) {
foreach ($v as $c1 => $v1) {
$linea .= "<tr><td>$v1</td></tr>"; }
}}
$resultado="
<table class='table table-striped ' id='tabla_$control' >
<tr><th>$campo_nombre[0]</th></tr>
$linea
</table>
";
}
elseif($tipo == "csv") {
foreach ($datos as $id_campo => $valor) {
$campo_nombre = remplacetas('form_campos','id',"$id_campo",'campo_nombre',"") ;
$campo_descripcion = remplacetas('form_campos','id',"$id_campo",'campo_descripcion',"") ;
foreach ($valor as $c => $v) {
foreach ($v as $c1 => $v1) {
$linea .= " $v1,";
}
}
}
$resultado = trim($linea,",");
}
elseif($tipo == "array") {
$array= array();
foreach ($datos as $id_campo => $valor) {
foreach ($valor as $c => $v) {
foreach ($v as $c1 => $v1) {
$array[]= "$v1";
}
}
}
$resultado = $array;
}
else{
}
return $resultado;
}
function exportar_svg($formulario) { function exportar_svg($formulario) {
$linea=""; $linea="";
if($formulario !=""){ if($formulario !=""){
@ -9439,6 +9502,10 @@ if (mysqli_num_rows($sql)!='0'){
elseif($campo_tipo=='10'){ elseif($campo_tipo=='10'){
$valor_actual = relacion_render("$id","$row[id_campo]",$contenido,'5',''); $valor_actual = relacion_render("$id","$row[id_campo]",$contenido,'5','');
$contenido = "$valor_actual";} $contenido = "$valor_actual";}
elseif($campo_tipo=='30'){
$contenido_full = json_render("$contenido","csv","$control");
$valor_actual = json_render("$contenido","html","$control");
$contenido = "$valor_actual";}
elseif($campo_tipo=='5' AND $contenido !=""){ elseif($campo_tipo=='5' AND $contenido !=""){
if($tipo =="") { if($tipo =="") {
$contenido = trim($contenido); $contenido = " $contenido = trim($contenido); $contenido = "
@ -9476,7 +9543,8 @@ $campo_imagen = $campo_imagen[0];
$campo_400[$row['id_campo']] = substr($contenido,0, $length = 400)."... ";//$contenido; $campo_400[$row['id_campo']] = substr($contenido,0, $length = 400)."... ";//$contenido;
$campo_80[$row['id_campo']] = substr($contenido,0, $length = 80);//$contenido; $campo_80[$row['id_campo']] = substr($contenido,0, $length = 80);//$contenido;
$campo_55[$row['id_campo']] = substr($contenido,0, $length = 55);//$contenido; $campo_55[$row['id_campo']] = substr($contenido,0, $length = 55);//$contenido;
$campo_limpio[$row['id_campo']] = trim(strip_tags($contenido)); $campo_full[$row['id_campo']] = $contenido_full;
$campo_limpio[$row['id_campo']] = trim(strip_tags($contenido," "));
$campo_limpio_80[$row['id_campo']] = strip_tags($contenido); $campo_limpio_80[$row['id_campo']] = strip_tags($contenido);
$fecha = date ( "Y-m-d h:i:s" , $row['timestamp'] ); $fecha = date ( "Y-m-d h:i:s" , $row['timestamp'] );
@ -11877,6 +11945,12 @@ elseif($campo_tipo_accion == 'email'){$render = "
elseif($campo_tipo_accion == 'combo'){ elseif($campo_tipo_accion == 'combo'){
//$select = select('form_campos_valores','campo_valor','campo_valor','',"id_form_campo = $id_campo",$id_campo."[".$item."]"); //$select = select('form_campos_valores','campo_valor','campo_valor','',"id_form_campo = $id_campo",$id_campo."[".$item."]");
$select = combo_select($id_campo,$id_form,$value,$id_campo."[".$item."]",$control,""); $select = combo_select($id_campo,$id_form,$value,$id_campo."[".$item."]",$control,"");
$render = "$select <small>$campo_descripcion</small>";
$cols='12'; }
elseif($campo_tipo_accion == 'select_multiple'){
//$select = select('form_campos_valores','campo_valor','campo_valor','',"id_form_campo = $id_campo",$id_campo."[".$item."]");
$select = select_multiple($id_campo,$id_form,$value,$id_campo."[".$item."]",$control,"");
$render = "$select <small>$campo_descripcion</small>"; $render = "$select <small>$campo_descripcion</small>";
$cols='12'; } $cols='12'; }
elseif($campo_tipo_accion == 'relacion'){ elseif($campo_tipo_accion == 'relacion'){
@ -12159,14 +12233,7 @@ function formulario_grabar($formulario) {
AND id_form = '$form_id' "; AND id_form = '$form_id' ";
$link=Conectarse(); $link=Conectarse();
mysqli_set_charset($link, "utf8"); mysqli_set_charset($link, "utf8");
// $sql=mysqli_query($link,$consulta_form);
// if (mysqli_num_rows($sql)!='0'){
// mysqli_data_seek($sql, 0);
// while( $row = mysqli_fetch_array( $sql ) ) {
//////
if(isset ( $_SESSION['id_empresa'])){$id_empresa = $_SESSION['id_empresa']; }else{ if(isset ( $_SESSION['id_empresa'])){$id_empresa = $_SESSION['id_empresa']; }else{
$id_empresa = remplacetas('form_id','id',$formulario['form_id'],'id_empresa',"") ; $id_empresa = remplacetas('form_id','id',$formulario['form_id'],'id_empresa',"") ;
$id_empresa = $id_empresa[0]; $id_empresa = $id_empresa[0];
@ -12177,8 +12244,15 @@ foreach($formulario as $c=>$v){
//LISTA ELEMENTOS DE UN ARRAY //LISTA ELEMENTOS DE UN ARRAY
if (is_array($v) ){ if (is_array($v) ){
foreach($v as $C=>$V){ foreach($v as $C=>$V){
$campo_tipo = remplacetas("form_campos","id",$c,"campo_tipo",""); $campo_tipo = remplacetas("form_campos","id",$c,"campo_tipo","");
$campo_nombre = remplacetas("form_campos","id",$c,"campo_nombre",""); $campo_nombre = remplacetas("form_campos","id",$c,"campo_nombre","");
if(@$campo_tipo[0] =="30") {
$V=array();
$V[$c]=$v;
$V = json_encode($V);
}
if($V != '') { if($V != '') {
@ -12242,6 +12316,13 @@ $igual = formulario_valor_campo("$form_id","$c","$md5","$formulario[control]","$
$existe = formulario_valor_campo("$form_id","$c","","$formulario[control]","$C",""); $existe = formulario_valor_campo("$form_id","$c","","$formulario[control]","$C","");
//$valor_anterior .= $existe[3]."| "; //$valor_anterior .= $existe[3]."| ";
$debug .= "$existe"; $debug .= "$existe";
$valor_original =$V;
/*if(@$campo_tipo[0] =="30") {
$V=array();
$V[$c]=$v;
$V = json_encode($V);
}*/
if(!is_null($existe) AND $tipo =='edit' AND $V =='') { if(!is_null($existe) AND $tipo =='edit' AND $V =='') {
$consulta_vacio =" $consulta_vacio ="
INSERT INTO `form_datos` (`id`, `id_campo`,`orden`,`form_id`, `id_usuario`, `contenido`, `timestamp`, `control`, ip , id_empresa) INSERT INTO `form_datos` (`id`, `id_campo`,`orden`,`form_id`, `id_usuario`, `contenido`, `timestamp`, `control`, ip , id_empresa)
@ -12260,20 +12341,26 @@ $repetido = 1;
//return $respuesta; //return $respuesta;
//$respuesta->addAlert("$debug"); //$respuesta->addAlert("$debug");
//return $respuesta; //return $respuesta;
$debug .= "V = $V /$c /$repetido / $igual "; /*$v_json=array();
$v_json[$c]=$V;
$v_json = json_encode($v_json);
*/
$debug .= "V = $V /c = $c /repetido = $repetido /igual= $igual $v_json ";
///convertir json y comparar en el campo 30
//$V = str_replace("<p><br></p>", "", $V ); //$V = str_replace("<p><br></p>", "", $V );
if(($V !='' ) && (is_numeric($c)) AND $repetido !=1 ) { if(($V !='' ) && (is_numeric($c)) AND $repetido !=1 ) {
//$debug = "Hola mundo"; //$debug = "Hola mundo";
$V = mysqli_real_escape_string($link,$V); $V = mysqli_real_escape_string($link,$V);
/// ///
if(@$campo_tipo[0] =="30") { $V=$V;}else{$V = htmlentities($V);}
$V = htmlentities($V);
$campo_tipo = remplacetas("form_campos","id",$c,"campo_tipo",""); $campo_tipo = remplacetas("form_campos","id",$c,"campo_tipo","");
if(@$campo_tipo[0] =="18") { if(@$campo_tipo[0] =="18") {
$V = md5("$V"); $V = md5("$V");
}else{$V=$V;} }
else{$V=$V;}
$consulta =" $consulta ="
@ -12283,7 +12370,7 @@ if(@$campo_tipo[0] =="18") {
$sql=mysqli_query($link,$consulta); $sql=mysqli_query($link,$consulta);
$debug .= "$consulta = $sql ,"; $debug .= "$consulta = $sql ,";
if($sql) { if($sql) {
$consulta_grabada ='1'; $consulta_grabada ='1';
} }
} }
@ -12291,8 +12378,7 @@ if(@$campo_tipo[0] =="18") {
}///fin del array primario }///fin del array primario
else { else {
if($v !='') { //$datos .= "<p>$$c = \$formulario['$c']; // <b>$v</b> </p>"; if($v !='') { }
}
} }
} }
@ -12428,7 +12514,7 @@ Esta herramienta es creada y proporcionada por Tupale.co, como portal para el ac
}else{ }else{
$mensaje =" $mensaje ="
<div class='alert alert-success text-center'><h1><i class='glyphicon glyphicon-smile-o'></i><small> Todo bien pero al parecer no se modificaron registros </small></h1></div>"; <div class='alert alert-success text-center'><h1><i class='glyphicon glyphicon-smile-o'></i><small> Todo bien pero al parecer no se modificaron registros $debug </small></h1></div>";
$respuesta->addAssign("div_$control","innerHTML","$mensaje"); $respuesta->addAssign("div_$control","innerHTML","$mensaje");
} }
//$respuesta->addAssign("respuesta_$control","innerHTML","$resultado"); //$respuesta->addAssign("respuesta_$control","innerHTML","$resultado");
@ -12944,6 +13030,36 @@ $resultado .= "";
return $resultado; return $resultado;
} }
function select_multiple($id_campo,$form_id,$valor,$name,$control){
$link=Conectarse();
mysqli_set_charset($link, "utf8");
$consulta = "SELECT * FROM form_campos_valores WHERE id_form_campo ='$id_campo' ";
$sql=mysqli_query($link,$consulta);
// $value = remplacetas("form_datos","control","$control","contenido","id_campo ='$id_campo' ");
$valor_actual = json_render("$valor","csv","$control");
/*$linea="";
foreach ($valor_actual as $c => $v) {
$linea .= "$v"; }
*/
if (mysqli_num_rows($sql)!='0'){
$resultado=" <SELECT class='form-control' NAME='$name"."[]"."' id='$name"."[]"."' multiple >" ;
while( $row = mysqli_fetch_array( $sql ) ) {
$existe = strpos($valor_actual, $row[campo_valor]);
//$coll = collator_create( 'en_US' );
//$res = collator_compare( $coll, $row['campo_valor'], $valor );
if( $existe != ""){$selected="selected";}else{$selected ="";}
//if($res === 0){$selected="selected";}else{$selected ="";}
//if(strcmp($row['campo_valor'], $valor) === 0 ){$selected="selected";}else{$selected ="";}
$resultado .= "<option value='$row[campo_valor]' $selected >$row[campo_valor]</option>";
}
$resultado .= "</select> $valor_actual";
}else{$resultado = "<div class='alert alert-warning alert_sin_resultados'><i class='glyphicon glyphicon-exclamation-triangle'></i> No hay resultados 0026</div>";}
return $resultado;
}
function rango($tabla,$campo,$key,$valor,$selected,$nombre,$onchange){ function rango($tabla,$campo,$key,$valor,$selected,$nombre,$onchange){
$link=Conectarse(); $link=Conectarse();