Ver Mensaje Individual
  #3 (permalink)  
Antiguo 05/06/2009, 09:19
pollo_c2
 
Fecha de Ingreso: junio-2008
Mensajes: 50
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: problemas con checkbox creados dinamicamente y ciclos while

hola bacdavi!!! te comento que ayer por la noche cheque tu contestacion y al momento de redactar mi explicacion para contestar tu peticion me di cuenta de mi error, el error que tengo es un error de logica!!!! bueno les redactare mi problema y pondre el codigo para resoverlo, espero que a alguien mas le sirva.

mi intencion es crear chackbox dinamicamentre por medio de registros que se encuentran en una tabla llamada propiedad_intelectual, al mismo tiempo de crearlos se tendrian que poner en estado checked algunos de estos chechbox, para saber cuales checkbox se pondrian en estado checken tendria que basarme en un subconjunto de registros de la tabla propiedad_intelectual que se encuantran almacenados en la tabla llamada propintele_ficha.

supongamos que tenemos los siguientes datos en las tablas y queremos crear la lista de checkbox y marcar en checken los checkbox donde id_fich =1
____________________________
propiedad_intelectual
---------------------------------------------
id_intelectual I des_intelectual
---------------------------------------------
1 I derechos de autor
2 I patentes
3 I marcas


_____________________________
propiedad_intelectual
_____________________________
aumenta I id_fich I id_intelectual
----------------------------------------------
1 I 1 I 1
2 I 1 I 3
3 I 2 I 1
4 I 2 I 2
5 I 2 I 3


el resultado seria el siguiente
  • derechos de autor checken="on"
  • patentes
  • marcas checken="on"

a hora supongamos que tenemos los mismos datos en las tablas y queremos crear la lista de checkbox y marcar en checken los checkbox donde id_fich =2

el resultado seria el siguiente
  • derechos de autor checken="on"
  • patentes checken="on"
  • marcas checken="on"

este era mi problema, el codigo con el que lo resolvi fue:


<?
$bandera=0;
$registros=mysql_query('select id_intelectual,des_intelectual from propiedad_intelectual',$conexion) or die('Problemas en el select:'.mysql_error());
while ($reg=mysql_fetch_array($registros))
{
$registros2=mysql_query('select id_intelectual from propintele_ficha where id_fich="'.$reg11["id_fich"].'"',$conexion) or die('Problemas en el select:'.mysql_error());
while ($reg2=mysql_fetch_array($registros2))
{
if($reg2["id_intelectual"] == $reg["id_intelectual"])
{

echo '<li><input type="checkbox" name="intelectuales[]" value="'.$reg["id_intelectual"].'"checked="checked"/>'.$reg["des_intelectual"].' </li>';
$bandera=1;
}
}
if($bandera==0)
{
echo '<li><input type="checkbox" name="intelectuales[]" value="'.$reg["id_intelectual"].'"/>'.$reg["des_intelectual"].' </li>';
}
else
{
$bandera=0;
}
}

?>




problema resuelto!!!!! gracias