Foros del Web » Programando para Internet » PHP »

Crear html_checkboxes en smarty+BD

Estas en el tema de Crear html_checkboxes en smarty+BD en el foro de PHP en Foros del Web. Un ejemplo del manejo html_checkboxes con smarty, y utilizando una base de datos ADOdb. Ej: Consiste: Tengo 2 tablas, un usuario pertenece a 1 o ...
  #1 (permalink)  
Antiguo 06/09/2008, 09:25
 
Fecha de Ingreso: agosto-2008
Mensajes: 7
Antigüedad: 15 años, 8 meses
Puntos: 0
Crear html_checkboxes en smarty+BD

Un ejemplo del manejo html_checkboxes con smarty, y utilizando una base de datos
ADOdb.
Ej: Consiste:
Tengo 2 tablas, un usuario pertenece a 1 o + grupo(s)
table: usuario; // datos de los usuario
usersysgroup, //id del usuario , id grupo
gruposys, // datos de los grupos existentes

1.-Visualizar un checkboxes con smarty, sacando informacion de la base de datos, es
2.-Enviar los checkbox checkeados(marcados), en un formulario
3.-Modificarlo tb en la bd

Código PHP:
//codigo en file_smarty.php

if(!isset($_REQUEST['btn_accept'])) //    NO - Presiono el Boton Autualizar
{                    
//seleciona todos los grupos que existe
$sql='SELECT groupsys, name FROM groupsys' 
$arraygroupsys $db->GetAssoc($sql);        
$smarty->assign('arraygroupsys',$arraygroupsys);

//$usersys = al ID del usuario
//Los grupo que tiene asignado el usuario
$sqlusergroup='SELECT usersys, groupsys
        FROM usersysgroup
        WHERE usersys IN ('".$usersys."')'
$arrayrolselected $db->GetAll($sqlusergroup);    
            
$numberGrupoSelected sizeof($arrayrolselected);             
     
// Nos sirve para visualizar en checkbox los grupos ya asignado al usuario
            
for($k=$k<$numberGrupoSelected $k++){
                 
$vectorRolsSeleted[$k] = $arrayrolselected[$k][groupsys];            
            }
        
$smarty->assign('vectorRolsSeleted',$vectorRolsSeleted);    
else 
{                                                    
  if(isset(
$_REQUEST['groupsys'])){
      
$arraygroupsys $_REQUEST['groupsys']; //Contiene el checkbox(s) seleted 

//     Eliminar Grupos(s) Asignados

                
for($k=$k $maxrolasignado$k++){ // Rol Asignados                    
$query "DELETE FROM usersysgroup WHERE usersys = '".$usersys."' AND groupsys = '".$groupsys."'";        
                    
$groupsys $arrayrolselected[$k][groupsys];
                    
//echo "Delete Rol".$groupsys."<br />";        
                    
$db->Execute($query);        
                }                    
    
//si es q marco (checkbox), podemos insertamos nuevos grupos asignados en nuestra tabla usersysgroup     
  
for($k=$k $maxselectcheck$k++){ // Rol Asignados        
$query "INSERT INTO usersysgroup (usersys, groupsys) VALUES ('".$usersys."', '".$groupsys."')";
                    
$groupsys $arraygroupsys[$k];
                    
//echo "Insert New Rol(s) Asignados".$groupsys."<br />";    
                    
$db->Execute($query);                
                }                                                                    
        }                            

El archivo creado para el tpl
Código:
// codigo del file.tpl
<form id="formAsignacionRol" name="formAsignacionRol" onsubmit="return validarPassword();" method="post" action="{$paglink}">

{html_checkboxes name="groupsys" options=$arraygroupsys selected=$vectorRolsSeleted separator="<br />"}

<input class="submitbutton" name="btn_accept" type="submit" id="btn_accept" value="Actualizar"/>
</form>



Solo lo subo para ayudar.
Codigo q funciona bien.
Si es q alguien puede mejorar el codigo no hay problema.

Gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:17.