Comunidad de diseño web y desarrollo en internet online

CRUD con checkbox

Citar            
MensajeEscrito el 22 May 2014 07:23 pm
Hola, tengo un sistema CRUD que me funciona perfectamente, pero quisiera hacer lo mismo con un checkbox y no sé cómo abordarlo. Me explico:
En el archivo index le presento al usuario un formulario donde tiene que ingresar su nombre y elegir sus colores favoritos. Al hacerlo aparece un listado con lo elegido, más los registros existentes en la base de datos. Quiero darle al usuario la opción de que pueda modificar sus registros e incluso eliminarlos.
Como digo, todo está resuelto pero la variable colores la manejo con un "select", y quisiera hacerlo con un "checkbox" para que el usuario pueda elegir más de una opción y que éstas aparezcan separadas por comas o cualquier otro separador.
Ya con esto estoy muy bloqueado. Luego vendría el asunto de editar los registros existentes.
Agradezco cualquier ayuda.
Aquí dejo los archivos index, editar y class. Lógicamente hay varios archivos más para hacer validaciones, eliminar, etc.

index.php

Código PHP :

<?php
require_once("class/class.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>COLORES</title>
<script type="text/javascript" language="javascript" src="js/funciones.js"></script>
</head>
<body onload="limpiar();">
<center>
<form name="form" action="ingresar.php" method="post">
<table width="800" align="center">
<tr>
<td align="center" width="400" valign="top" colspan="2">
<h2>Ingrese sus COLORES</h2>
</td>
</tr>
<tr>
<td valign="top" align="right">
Nombre: 
</td>
<td valign="top" align="left">
<input type="texto" name="nombre" size="70" />
</td>
</tr>
<tr>
<td valign="top" align="right">
Colores favoritos
</td>
<td valign="top" align="left">
<select name="colores" style="width:150px">
<option value="0"  selected="selected">Elija colores</option>
<option value="rojo">rojo</option>
<option value="verde">verde</option>
<option value="azul">azul</option>
<option value="amarillo">amarillo</option>
<option value="blanco">blanco</option>
<option value="negro">negro</option>
<option value="gris">gris</option>
</td>
</tr>
<tr>
<td valign="top" width="400" align="center" colspan="2">
<hr />
<input type="button" value="Guardar" title="Guardar" onclick="validar();" />
</td>
</tr>
</table>
</form>
<table align="center" width="800">
<tr>
<td width="800" valign="top" align="center" colspan="4">
<hr />
</td>
</tr>
<tr style="background-color:#666666; color:#FFFFFF; font-weight:bold">
<td valign="top" align="center" width="300">
Nombre
</td>
<td valign="top" align="center" width="400">
Colores
</td>
<td valign="top" align="center" width="50">
</td>
<td valign="top" align="center" width="50">
</td>
</tr>
<?php
$tra=new Trabajo();
$reg=$tra->get_visitas();
for ($i=0;$i<count($reg);$i++)
{
?>
<tr id="<?php echo "ide_$i";?>" style="background-color:#f0f0f0" onMouseMove="cambiar('<?php echo "ide_$i";?>','#cccccc')" onMouseOut="cambiar('<?php echo "ide_$i";?>','#f0f0f0');">
<td valign="top" align="center" width="40">
<?php echo $reg[$i]["nombre"];?>
</td>
<td valign="top" align="center" width="80">
<?php echo $reg[$i]["colores"];?>
</td>
<td valign="top" align="center" width="50">
<a href="javascript:void(0);" onClick="window.location='editar.php?id=<?php echo $reg[$i]["id"];?>';" title="Editar Registro"><img src="ima/editar.png" border="0"></a>
</td>
<td valign="top" align="center" width="50">
<a href="javascript:void(0);" onClick="eliminar('eliminar.php?id=<?php echo $reg[$i]["id"];?>');" title="Eliminar"><img src="ima/eliminar.png" border="0"></a>
</td>
</tr>
<?php
}
?>
</table>
</center>
</body>
</html>



editar.php

Código PHP :

<?php
require_once("class/class.php");
$tra=new Trabajo();
if (isset($_POST["grabar"]) and $_POST["grabar"]=="si")
{
   //print_r($_POST);
   $tra->edit_visitas($_POST["nombre"],$_POST["colores"],$_POST["id"]);
   exit;
}
$reg=$tra->get_visitas_por_id($_GET["id"]);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Editar Registros</title>
<script language="javascript" type="text/javascript" src="js/funciones.js"></script>
</head>
<body onLoad="limpiar();">
<center>
<form name="form" action="editar.php" method="post">
<table width="800" align="center">
<tr>
<td align="center" width="400" valign="top" colspan="2">
<h2>Editar registro</h2>
</td>
</tr>
<tr>
<td valign="top" align="right">
Nombre
</td>
<td valign="top" align="left">
<input type="texto" name="nombre" size="78" value="<?php echo $reg[0]["nombre"];?>" />
</td>
</tr>
<tr>
<td valign="top" align="right">
Colores favoritos
</td>
<td valign="top" align="left">
<select name="colores" style="width:150px">
<option value="<?php echo $reg[0]["colores"];?>"  selected="selected"><?php echo $reg[0]["colores"];?></option>
<option value="rojo">rojo</option>
<option value="verde">verde</option>
<option value="azul">azul</option>
<option value="amarillo">amarillo</option>
<option value="blanco">blanco</option>
<option value="negro">negro</option>
<option value="gris">gris</option>
</td>
</tr>
<tr>
<td valign="top" width="800" align="center" colspan="2">
<hr />
<input type="hidden" name="grabar" value="si">
<input type="hidden" name="id" value="<?php echo $_GET["id"];?>">
<input type="button" value="Volver" title="Volver" onClick="window.location='index.php';">
&nbsp;&nbsp;||&nbsp;&nbsp;
<input type="button" value="Guardar" title="Guardar" onclick="validar();" />
</td>
</tr>
</table>
</form>
</center>
</body>
</html>


class.php

Código PHP :

<?php
class Conectar 
{
   public static function con()
   {
      $conexion=mysql_connect("localhost","root","vertrigo");
      mysql_query("SET NAMES 'utf8'");
      mysql_select_db("mates_poli");
      return $conexion;
   }
   public static function corta_palabra($palabra, $num)
   {
      $largo=strlen($palabra);
      $cadena=substr($palabra,0,$num);
      return $cadena;   
   }
}
//******************************************************************
class Trabajo
{
   //private $visitas=array();
   private $visitas;
      public function __construct()
      {
         $this->visitas=array();
      }
   public function get_visitas()
   {
      $sql="select * from colores ";
      
      $res=mysql_query($sql,Conectar::con());
      
      while ($reg=mysql_fetch_assoc($res))
      {
         $this->visitas[]=$reg;
      }
      
         return $this->visitas;
   }   
      public function add_visitas($nombre,$colores)
   {
      $sql="insert into colores values (null,'$nombre','$colores')";
      $res=mysql_query($sql,Conectar::con());
      echo "<script type='text/javascript'>
      alert('Gracias por ingresar su registro');
      window.location='index.php';
      </script>";
   }
   public function get_visitas_por_id($id)
   {
      $sql="select * from colores where id=$id";
      $res=mysql_query($sql,Conectar::con());
      while ($reg=mysql_fetch_assoc($res))
      {
         $this->visitas[]=$reg;
      }
         return $this->visitas;
   }
   public function edit_visitas($nombre,$colores,$id)
   {
         $sql="update colores "
         ." set "
         ." nombre='$nombre', "
         ." colores='$colores', "
         ." id=$id ";
      $res=mysql_query($sql,Conectar::con());
      echo "<script type='text/javascript'>
      alert('El registro ha sido modificado correctamente');
      window.location='index.php';
      </script>";   
      }
   public function eliminar_visita($id)
   {
      $sql="delete from colores where id=$id";
      $res=mysql_query($sql,Conectar::con());
      echo "<script type='text/javascript'>
      alert('El registro ha sido eliminado correctamente');
      window.location='index.php';
      </script>";
   }
}
?>

Por eulersito

15 de clabLevel



 

chrome
Citar            
MensajeEscrito el 23 May 2014 05:16 pm
El Control Select de Html puede tener una opcion de multiple

<select id = 'colores' multiple> COLORES A ELEGIR </select>

y cuando envias a traves de una variable POST el valor de ese select, envia el arreglo de lo seleccionado por el usuario.

¿Eso responde tu pregunta o ocupas algo mas especifico?

http://www.w3schools.com/tags/att_select_multiple.asp

Por heyluis

4 de clabLevel



 

Desarollador de Software

chrome
Citar            
MensajeEscrito el 23 May 2014 05:24 pm
La verdad es que lo quiero con un checkbox, pero tampoco sé resolverlo como propones. No sé cómo entran los datos múltiples a la base de datos. Gracias

Por eulersito

15 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.