Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - rafaechev

#1
Hola amigos como están, espero que bien, les cuento que estoy construyendo un programita donde quiero controlar los roles de los usuarios registrados en mi sitio.  Para eso, hice un formulario llamado "roles" que contiene un select(donde obtengo el id del usuario que en este caso es el "rut") y varios ckeckbox que tienen el mismo nombre "checkbox[]" pero cada uno tiene un "id" y un "value diferente", todo esto está  en un archivo llamado "roles.php"

Código (html4strict) [Seleccionar]
<form method="post" enctype="multipart/form-data" name="Roles" id="Roles">    
           <div class="form-group">
           <label class="control-label" >Usuario: </label>

           <select class="form-control" id="usuario" name="usuario">
<option value="0">Seleccione un Usuario...</option>
               <?php
                    $usuarios 
$prin->obtener_usuarios();
                    while(
$usu pg_fetch_array($usuarios)){
                        echo 
'<option value="'.$usu['rut'].'">'.$usu['apellidos'].' '.$usu['nombres'].'</option>';
                    }
                    
?>

</select>

</div>
           <div class="table-responsive">
          <table class="table table-striped">
               <thead>
               <tr>
               <td><strong>Interfaz</strong></td><td align="center"><strong>Crear</strong></td><td align="center"><strong>Editar</strong></td><td align="center"><strong>Eliminar</strong></td>
               </tr>
               </thead>
               <tbody>
               <tr class="success">
               <td><strong>3.- Seguridad</strong></td><td></td><td></td><td></td>
               </tr>
               <tr>
               <td>Usuarios</td>
               <td align="center"><input type="checkbox" name="checkbox[]" id="crear_usuarios" value="crear_usuarios" /></td>
               <td align="center"><input type="checkbox" name="checkbox[]" id="editar_usuarios" value="editar_usuarios" /></td>
               <td align="center"><input type="checkbox" name="checkbox[]" id="eliminar_usuarios" value="eliminar_usuarios" /></td>
               </tr>
               <tr>
               <td>Roles</td>
               <td align="center"><input type="checkbox" name="checkbox[]" id="crear_modulos" value="crear_modulos" /></td>
               <td align="center"><input type="checkbox" name="checkbox[]" id="editar_modulos" value="editar_modulos" /></td>
               <td align="center"><input type="checkbox" name="checkbox[]" id="eliminar_usuarios" value="eliminar_usuarios" /></td>
               </tr>
               <tr>
               <td>Perfiles</td>
               <td align="center"><input type="checkbox" name="checkbox[]" id="crear_perfiles" value="crear_perfiles" /></td>
               <td align="center"><input type="checkbox" name="checkbox[]" id="editar_perfiles" value="editar_perfiles" /></td>
               <td align="center"><input type="checkbox" name="checkbox[]" id="eliminar_usuarios" value="eliminar_usuarios" /></td>
               </tr>
               <tr class="success">
               <td><strong>4.- Panel de Control</strong></td><td></td><td></td><td></td>
               </tr>
               <tr>
               <tr>
               <td>Unidades o Departamentos</td>
               <td align="center"><input type="checkbox" name="checkbox[]" id="crear_unidades" value="crear_unidades" /></td>
               <td align="center"><input type="checkbox" name="checkbox[]" id="editar_unidades" value="editar_unidades" /></td>
               <td align="center"><input type="checkbox" name="checkbox[]" id="eliminar_unidades" value="eliminar_unidades" /></td>
               </tr>
          </tbody>
          </table>
           </div>
           </form>


Bien, entonces en un archivo de javascript llamo al evento "onChange" de este select, donde envío a una página llamada "controlador_roles.php" el rut del usuario seleccionado, esta página me devuelve como respuesta en un arreglo con todos los roles del usuario seleccionado. A continuación les presento la función.

$('select#usuario').on('change', function(){
var rut_usuario = $(this).val();
var url = '../controlador/controlador_roles.php';
$.ajax({
type:'POST',
url:url,
data:'rut_usuario='+rut_usuario,
success: function(res){  // recibo todos los roles del usuario seleccionado.
  var datos = eval(res);
     for (i=0;i<datos.length;i++) //recorro la cantidad de roles que tiene el usuario
                   {
     document.getElementById(datos[i]).checked == true;
    }
   });
return false;
});


Entonces mi consulta es la siguiente.

Es posible que al momento de activarse la función "onchange" cambie el estado de los checkcbox a "checked" y marque los roles del usuario seleccionado?  He intentado realizar esta acción pero no lo he conseguido, creo que la forma mas idónea de hacerlo es con un for pero no se como estructurar el bucle para que me marque los checkbox. Espero que puedan ayudarme quedo atento a sus comentarios, gracias de antemano.





Mod: Los códigos deben ir en etiquetas GeSHi... segundo aviso
#2
PHP / filtrar datos de un jtable en php
16 Marzo 2015, 02:10 AM
Hola foreros espero que se encuentren bien, tengo una duda y espero que ustedes me puedan ayudar. estoy creando un sistema web para un colegio en el que trabajo y resulta que estoy ocupando jtable. todo resulta bien el problema es que no puedo filtrar los datos de una tabla ya que solo existe esto para el lenguaje java y asp.net , como podria hacerlo para crear el filtro en php.

tengo un archivo php llamado funcionarios.php que contiene lo siguiente

Código (php) [Seleccionar]
<html>
 <head>

   <link href="../themes/redmond/jquery-ui-1.8.16.custom.css" rel="stylesheet" type="text/css" />
<link href="../scripts/jtable/themes/metro/blue/jtable.css" rel="stylesheet" type="text/css" />
   
<script src="../scripts/jquery-1.6.4.min.js" type="text/javascript"></script>
   <script src="../scripts/jquery-ui-1.8.16.custom.min.js" type="text/javascript"></script>
   <script src="../scripts/jtable/jquery.jtable.js" type="text/javascript"></script>
   
   <!-- Import CSS file for validation engine (in Head section of HTML) -->
<link href="../css/validationEngine.jquery.css" rel="stylesheet" type="text/css" />

<!-- Import javascript files for validation engine (in Head section of HTML) -->
<script type="text/javascript" src="../js/jquery.validationEngine.js"></script>
<script type="text/javascript" src="../js/jquery.validationEngine-es.js"></script>
   
</head>
 
 <body>
<div id="PeopleTableContainer" style="width:auto;"></div>
   
<script type="text/javascript">

$(document).ready(function () {



   //Prepare jTable
$('#PeopleTableContainer').jtable({
title: 'Tabla de Funcionarios',
paging: true,
pageSize: 14,
sorting: true,
defaultSorting: 'nombres ASC',
actions: {
listAction: 'accionFuncionarios.php?action=list',
createAction: 'accionFuncionarios.php?action=create',
updateAction: 'accionFuncionarios.php?action=update',
deleteAction: 'accionFuncionarios.php?action=delete'
},
fields: {
rut: {
title: 'Rut',
key: true,
edit: true,
list: true,
width: '15%',
inputClass: 'validate[required]'
},
nombres: {
title: 'Nombres',
width: '15%',
inputClass: 'validate[required]'
},
apellidos: {
title: 'Apellidos',
width: '15%',
inputClass: 'validate[required]'
},
correo: {
title: 'Correo',
width: '17%',
inputClass: 'validate[custom[email]]'
},
telefono : {
title: 'Teléfono',
width: '15%',
inputClass: 'validate[required,custom[phone]]'
},
estado: {
                    title: 'Estado',
                    width: '10%',
                    type: 'checkbox',
setOnTextClick: false,
                    values: { 'false': 'Inactivo', 'true': 'Vigente' },
                    defaultValue: 'true'

}
},
           //Initialize validation logic when a form is created
           formCreated: function (event, data) {
               data.form.validationEngine();
           },
           //Validate form when it is being submitted
           formSubmitting: function (event, data) {
               return data.form.validationEngine('validate');
           }
});

//Load person list from server
$('#PeopleTableContainer').jtable('load');
//jQuery("#jtable-create-form").validationEngine();
});

</script>

 </body>
</html>


y el codigo php que lo recibe y que inteactua con la base de datos lo llame accionFuncionarios.php y contiene lo siguiente.

<?php

try
{
//Open database connection
$con mysql_connect("localhost","root","");
mysql_select_db("laboratorios"$con);
mysql_query ("SET NAMES 'utf8'");

//Getting records (listAction)
if($_GET["action"] == "list")
{
//Get record count
$result mysql_query("SELECT COUNT(*) AS RecordCount FROM funcionario;");
$row mysql_fetch_array($result);
$recordCount $row['RecordCount'];

//Get records from database
$result mysql_query("SELECT * FROM funcionario ORDER BY " $_GET["jtSorting"] . " LIMIT " $_GET["jtStartIndex"] . "," $_GET["jtPageSize"] . ";");

//Add all records to an array
$rows = array();
while($row mysql_fetch_array($result))
{
    $rows[] = $row;
}

//Return result to jTable
$jTableResult = array();
$jTableResult['Result'] = "OK";
$jTableResult['TotalRecordCount'] = $recordCount;
$jTableResult['Records'] = $rows;
print json_encode($jTableResult);
}
//Creating a new record (createAction)
else if($_GET["action"] == "create")
{
//Insert record into database
$result mysql_query("INSERT INTO funcionario(rut, nombres, apellidos, correo, telefono, estado) VALUES('" $_POST["rut"] . "', '".$_POST["nombres"]. "', '".$_POST["apellidos"]. "', '".$_POST["correo"]. "', '".$_POST["telefono"]. "' , '".$_POST["estado"]."');");

//Get last inserted record (to return to jTable)
$result mysql_query("SELECT * FROM funcionario WHERE rut = '".$_POST["rut"]."';");
$row mysql_fetch_array($result);

//Return result to jTable
$jTableResult = array();
$jTableResult['Result'] = "OK";
$jTableResult['Record'] = $row;
print json_encode($jTableResult);
}
//Updating a record (updateAction)
else if($_GET["action"] == "update")
{
//Update record in database
$result mysql_query("UPDATE funcionario SET rut = '" $_POST["rut"] . "', nombres = '" $_POST["nombres"] . "', apellidos = '" $_POST["apellidos"] . "', correo = '" $_POST["correo"] . "', telefono = '" $_POST["telefono"] . "', estado = '" $_POST["estado"] . "' WHERE rut = '" $_POST["rut"] . "';");

//Return result to jTable
$jTableResult = array();
$jTableResult['Result'] = "OK";
print json_encode($jTableResult);
}
//Deleting a record (deleteAction)
else if($_GET["action"] == "delete")
{
//Delete from database
$result mysql_query("DELETE FROM funcionario WHERE rut = '" $_POST["rut"] . "';");

//Return result to jTable
$jTableResult = array();
$jTableResult['Result'] = "OK";
print json_encode($jTableResult);
}

//Close database connection
mysql_close($con);

}
catch(
Exception $ex)
{
    
//Return error message
$jTableResult = array();
$jTableResult['Result'] = "ERROR";
$jTableResult['Message'] = $ex->getMessage();
print json_encode($jTableResult);
}

?>


esperando haber entregado la información necesaria para poder obtener ayuda de antemano les agradezco, estaré atento a sus comentarios.

Mod: Obligatorio el uso de etiquetas GeSHi.