Foros del Web » Programando para Internet » PHP »

Como listar datos mysql en checkbox

Estas en el tema de Como listar datos mysql en checkbox en el foro de PHP en Foros del Web. Hola, Tengo un formulario con checkbox, 12 para ser mas exacto. Los inserto en la base de datos luego de una "," cada checkbox tiene ...
  #1 (permalink)  
Antiguo 09/07/2011, 09:52
 
Fecha de Ingreso: julio-2011
Mensajes: 50
Antigüedad: 12 años, 9 meses
Puntos: 0
Pregunta Como listar datos mysql en checkbox

Hola, Tengo un formulario con checkbox, 12 para ser mas exacto. Los inserto en la base de datos luego de una "," cada checkbox tiene un numero desde el 1 hasta el 12.

Por ejemplo en mi bd esta asi la columna donde almaceno.

requerimientos
1,2,7

Eso quiere decir que se selecciono el 1,2,7(solo guarda los que se seleccionaron) como haria para poder mostrarlos en otro formulario?.
Encontre un codigo por alli , pero como que todavia no lo entiendo bien. Gracias Slds.


<?php
$hostname_Conexion = "localhost";
$database_Conexion = "tubd";
$username_Conexion = "root";
$password_Conexion = "";
$Conexion = mysql_pconnect($hostname_Conexion, $username_Conexion, $password_Conexion) or trigger_error(mysql_error(),E_USER_ERROR);
/////////////// empresares ///////////
mysql_select_db($database_Conexion, $Conexion);
$query_corporaciontot = "SELECT count(*) as totalinter FROM empresaes";
$corporaciontot = mysql_query($query_corporaciontot, $Conexion) or die(mysql_error());
$row_corporaciontot = mysql_fetch_assoc($corporaciontot);
$totalRows_corporaciontot = mysql_num_rows($corporaciontot);
$totalinter=$row_corporaciontot['totalinter'];

$i="1";
$empresaes="";
while($i <= $totalinter){
$empresaes=$empresaes.",".$_POST['corporacion_'.$i];

$i++;
}
$corporacion=$empresaes;

$updateSQL="UPDATE empresas SET corporacion=".$corporacion." WHERE Idempresa=".$_GET['idempresa']."";
mysql_select_db($database_Conexion, $Conexion);
$Result1 = mysql_query($updateSQL, $Conexion) or die(mysql_error());

/////////////// empresares ///////////
?>
<?php
$empresat=$_GET['corporacion'];
mysql_select_db($database_Conexion, $Conexion);
$query_corporacion = "SELECT idempresa, empresa FROM empresaes";
$corporacion = mysql_query($query_corporacion, $Conexion) or die(mysql_error());
$row_corporacion = mysql_fetch_assoc($corporacion);
$totalRows_corporacion = mysql_num_rows($corporacion);
?>
<?php do{ ?><?php $trozo=explode(",",$row_EditarPerfil['corporacion']); ?><label><?php $interpatro=$row_corporacion['idempresa']; ?>
<input <?php if ($row_corporacion['idempresa'] == $trozo[$interpatro]){ ?>checked="checked"<?php } ?> type="checkbox" name="corporacion_<?php echo $row_corporacion['idempresa']; ?>" id="corporacion_<?php echo $row_corporacion['idempresa']; ?>" value="<?php echo $row_corporacion['idempresa']; ?>" /> <?php echo $row_corporacion['empresa']; ?><br />
</label><?php } while ($row_corporacion = mysql_fetch_assoc($corporacion)); ?>
  #2 (permalink)  
Antiguo 11/07/2011, 05:53
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Como listar datos mysql en checkbox

Te paso en ejemplo simple que puedes mejorar, saludos:


Código PHP:
Ver original
  1. <?php
  2.  
  3. ini_set("display_errors", 1);
  4.  
  5. //0. realizas una select que guarde los valores separados por comas en una var.
  6. $var = "1,2,4"; //En tu ejemplo, $var viene de la db como un string
  7.  
  8. $array = explode(",", $var); //$array es un array donde cada elemento es un número
  9.  
  10. ?>
  11. <form>
  12.   <table width="250" border="0" cellspacing="0" cellpadding="0">
  13.     <tr>
  14.       <td colspan="2">Checks seleccionados hasta ahora: </td>
  15.     </tr>
  16.     <tr>
  17.       <td>Uno</td>
  18.       <td>
  19.         <input type="checkbox" name="1" value="1" <?=(in_array(1, $array)?"checked=\"checked\"":"")?> />
  20.     </td>
  21.     </tr>
  22.     <tr>
  23.       <td>Dos</td>
  24.       <td><input type="checkbox" name="2" value="2" <?=(in_array(2, $array)?"checked=\"checked\"":"")?> /></td>
  25.     </tr>
  26.     <tr>
  27.       <td>Tres</td>
  28.       <td><input type="checkbox" name="3" value="3" <?=(in_array(3, $array)?"checked=\"checked\"":"")?> /></td>
  29.     </tr>
  30.     <tr>
  31.       <td>Cuatro</td>
  32.       <td><input type="checkbox" name="4" value="4" <?=(in_array(4, $array)?"checked=\"checked\"":"")?> /></td>
  33.     </tr>
  34.   </table>
  35. </form>
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 11/07/2011, 08:38
 
Fecha de Ingreso: julio-2011
Mensajes: 50
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Como listar datos mysql en checkbox

Hola, gracias de antemano, modifique el codigo en base a mis necesitades asi :

<html>
<form>

<?php

$conexion=mysql_connect("localhost","root","mysql" ) or
die("Problemas en la conexion");
mysql_select_db("phpfacil",$conexion) or
die("Problemas en la seleccion de la base de datos");
$registros=mysql_query("select requerimientos from tbl_documentos2",$conexion) or
die("problemas en el select:".mysql_error());
error_reporting(E_ALL);
ini_set("display_errors", 1);

//0. realizas una select que guarde los valores separados por comas en una var.
//$var = "1,2,4"; //En tu ejemplo, $var viene de la db como un string

$array = explode(",",$registros); //$array es un array donde cada elemento es un número
?>

<table width="250" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="2">Checks seleccionados hasta ahora: </td>
</tr>
<tr>
<td>Uno</td>
<td>
<input type="checkbox" name="1" value="1" <?=(in_array(1, $array)?"checked=\"checked\"":"")?> />
</td>
</tr>
<tr>
<td>Dos</td>
<td><input type="checkbox" name="2" value="2" <?=(in_array(2, $array)?"checked=\"checked\"":"")?> /></td>
</tr>
<tr>
<td>Tres</td>
<td><input type="checkbox" name="3" value="3" <?=(in_array(3, $array)?"checked=\"checked\"":"")?> /></td>
</tr>
<tr>
<td>Cuatro</td>
<td><input type="checkbox" name="4" value="4" <?=(in_array(4, $array)?"checked=\"checked\"":"")?> /></td>
</tr>
</table>
<form>
</html>



Pero nada, no sale nada u.u Mira lo que sale :

Checks seleccionados hasta ahora:
Uno />
Dos />
Tres />
Cuatro />

Yo en mi base de datos tengo esto :(Osea seleccionados 12 para el primer usuario,de alli seleccionados el 5 y el 6 para el segundo y asii).

requerimientos
12
5,6
11,12
10
12
7,8
  #4 (permalink)  
Antiguo 12/07/2011, 01:05
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Como listar datos mysql en checkbox

Comprueba que tengas habilitada la directiva open_short_tags en tu php.ini. Prueba esto:

Código PHP:
Ver original
  1. <input type="checkbox" name="1" value="1" <?php echo (in_array(1, $array)?"checked=\"checked\"":""); ?> />
__________________
Fere libenter homines, id quod volunt, credunt.
  #5 (permalink)  
Antiguo 12/07/2011, 02:30
 
Fecha de Ingreso: junio-2008
Mensajes: 175
Antigüedad: 15 años, 9 meses
Puntos: 11
Respuesta: Como listar datos mysql en checkbox

El error que veo yo es que estas realizando el query pero no haces un fetch de los resultados asociados a ese query:

Código PHP:
$registros mysql_query("select requerimientos from tbl_documentos2",$conexion) or
die(
"problemas en el select:".mysql_error()); 
Código PHP:
$result mysql_query("select requerimientos from tbl_documentos2",$conexion) or
die(
"problemas en el select:".mysql_error());
$registros mysql_fetch_array($result); 
  #6 (permalink)  
Antiguo 12/07/2011, 08:32
 
Fecha de Ingreso: julio-2011
Mensajes: 50
Antigüedad: 12 años, 9 meses
Puntos: 0
Pregunta Respuesta: Como listar datos mysql en checkbox

Gracias de antemano por las respuestas.
Entonces sería así?

Hola, gracias de antemano, modifique el codigo en base a mis necesitades asi :

<html>
<form>

<?php

$conexion=mysql_connect("localhost","root","mysql" ) or
die("Problemas en la conexion");
mysql_select_db("phpfacil",$conexion) or
die("Problemas en la seleccion de la base de datos");
$result = mysql_query("select requerimientos from tbl_documentos2",$conexion) or
die("problemas en el select:".mysql_error());
$registros = mysql_fetch_array($result);
error_reporting(E_ALL);
ini_set("display_errors", 1);

//0. realizas una select que guarde los valores separados por comas en una var.
//$var = "1,2,4"; //En tu ejemplo, $var viene de la db como un string

$array = explode(",",$registros); //$array es un array donde cada elemento es un número
?>

<table width="250" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="2">Checks seleccionados hasta ahora: </td>
</tr>
<tr>
<td>Uno</td>
<td>
<input type="checkbox" name="1" value="1" <?=(in_array(1, $array)?"checked=\"checked\"":"")?> />
</td>
</tr>
<tr>
<td>Dos</td>
<td><input type="checkbox" name="2" value="2" <?=(in_array(2, $array)?"checked=\"checked\"":"")?> /></td>
</tr>
<tr>
<td>Tres</td>
<td><input type="checkbox" name="3" value="3" <?=(in_array(3, $array)?"checked=\"checked\"":"")?> /></td>
</tr>
<tr>
<td>Cuatro</td>
<td><input type="checkbox" name="4" value="4" <?=(in_array(4, $array)?"checked=\"checked\"":"")?> /></td>
</tr>
</table>
<form>
</html>

Etiquetas: formulariophp, mysql+php, php+mysql
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 07:02.