Foros del Web » Programando para Internet » PHP »

Seleccionar checkbox de base de datos mysql

Estas en el tema de Seleccionar checkbox de base de datos mysql en el foro de PHP en Foros del Web. Hola, gracias de antemano, tengo un codigo para que me liste los checkbox seleccionados: Yo en mi base de datos tengo esto :(Osea seleccionados 12 ...
  #1 (permalink)  
Antiguo 11/07/2011, 08:45
 
Fecha de Ingreso: julio-2011
Mensajes: 50
Antigüedad: 12 años, 9 meses
Puntos: 0
Pregunta Seleccionar checkbox de base de datos mysql

Hola, gracias de antemano, tengo un codigo para que me liste los checkbox seleccionados:


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). Eso quiere decir que el primer usuario selecciono el checkbox numero 12, el segundo selecciono el 5 y 6 y asi sucesivamente.Lo que quiero es listarlos de mi base de datos, solo los que fueron seleccionados , por ejemplo tengo 4 checkbox , pero solo quiero que se encienda el primero de los 4. En este caso los que fueron seleccionados y estan en mi base de datos.

requerimientos
12
5,6
11,12
10
12
7,8

<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 />
  #2 (permalink)  
Antiguo 11/07/2011, 09:20
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Seleccionar checkbox de base de datos mysql

Buenas,

Tu problema es que la consulta "select requerimientos from tbl_documentos2" devuelve varios valores, no uno único, luego utilizas la función explode sobre el resultado para transformar a un array, pero esto no se puede hacer, tienes que recorrer el resultado y hacer explode a cada iteración.

Un saludo.
  #3 (permalink)  
Antiguo 11/07/2011, 09:22
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Seleccionar checkbox de base de datos mysql

Haz intentado pasar todo a php?

Código php:
Ver original
  1. $uno    = (in_array(1, $array)?'checked="checked"':'');
  2. $dos    = (in_array(2, $array)?'checked="checked"':'');
  3. $tres   = (in_array(3, $array)?'checked="checked"':'');
  4. $cuatro = (in_array(4, $array)?'checked="checked"':'');
  5.  
  6. $html = '
  7. <html>
  8. <body>
  9.     <form>
  10.         <table width="250" border="0" cellspacing="0" cellpadding="0">
  11.         <tr>
  12.             <td colspan="2">Checks seleccionados hasta ahora: </td>
  13.         </tr>
  14.         <tr>
  15.             <td>Uno</td>
  16.             <td><input type="checkbox" name="1" value="1" '.$uno.' /></td>
  17.         </tr>
  18.         <tr>
  19.             <td>Dos</td>
  20.             <td><input type="checkbox" name="2" value="2" '.$dos.' /></td>
  21.         </tr>
  22.         <tr>
  23.             <td>Tres</td>
  24.             <td><input type="checkbox" name="3" value="3" '.$tres.' /></td>
  25.         </tr>
  26.         <tr>
  27.             <td>Cuatro</td>
  28.             <td><input type="checkbox" name="4" value="4" '.$cuatro.' /></td>
  29.         </tr>
  30.         </table>
  31.     <form>
  32. </body>
  33. </html>';
  34. print $html;

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #4 (permalink)  
Antiguo 11/07/2011, 09:33
 
Fecha de Ingreso: julio-2011
Mensajes: 50
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Seleccionar checkbox de base de datos mysql

Nada no sale u.u alguien me podria poner una solucion un poco mas clara?, otra consulta sino es mucho pedir :
Como se muestra un campo text de bd a textarea?

Este es mi codigo :

<?php
$id_documento = $_GET['id_documento'];
$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 id_documento,otros_requerimientos from tbl_documentos2 where id_documento='$id_documento'",$conexion) or
die("problemas en el select:".mysql_error());
while($reg=mysql_fetch_array($registros))
{

}
?>

Etiquetas: checkbox, 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 13:53.