Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/01/2010, 23:37
Agrus
 
Fecha de Ingreso: septiembre-2009
Mensajes: 40
Antigüedad: 14 años, 7 meses
Puntos: 0
Ayuda con checkboxes y php

Buenas.

Estoy generando unos checkboxes a traves de una consulta, que al igresar el ID de una persona deberia mostrar las opciones que eligio previamente ademas de las opciones que no selecciono.

Logro hacer que aparezcan los checkboxes de acuerdo a las opciones que puede elegir el usuario mas no logro marcar como checked los que fueron seleccionados.

Asi va el codigo por ahora:

Código:
<?php 
					
					$sql2="SELECT * FROM tipo_productos ORDER BY descripcion_tipo ASC";
					 $query2=mysql_query($sql2);					
					$conteo=mysql_num_rows($query2);
					$i=0;
					$z=0;
					$x=0;
$m=0;
$tiposdeproducto= array();
$productosseleccionados= array();
$id_tipos= array();
$y=0;
					
   $productos="SELECT    proveedor_tipoproducto.id_proveedor , tipo_productos.descripcion_tipo, tipo_productos.id_tipo
FROM
    hemodinamia.proveedor_tipoproducto  INNER JOIN hemodinamia.tipo_productos    ON (proveedor_tipoproducto.id_tipo = tipo_productos.id_tipo) WHERE id_proveedor='".$_POST['busca_proveedor']."' ORDER BY descripcion_tipo ASC";
		
$query_productos=mysql_query($productos);
					 
while($tipos= mysql_fetch_assoc($query2)){
							
		while($productos_seleccionados= mysql_fetch_assoc($query_productos)){

						$productosseleccionados[$x]= $productos_seleccionados['descripcion_tipo'];
						$x++;                                                                             }
			
						$tiposdeproducto[$z]=$tipos['descripcion_tipo'];
						$id_tipos[$z]=$tipos['id_tipo'];
					    $z++;
						}


$count_tipos= array_count_values($id_tipos);
						
	
      foreach($tiposdeproducto as $a){
	  
	  while($i<=$conteo && $m<$conteo && $y<$count_tipos){
	  foreach($productosseleccionados as $b){
	  
	  if($a==$b){
	  
						 $i++;echo "<input name='tipo_producto".$i."'"; echo "type='checkbox' value='".$id_tipos[$y]."'";
						echo "checked='checked'/>";
						echo "&nbsp;".$tiposdeproducto[$m]."<br>";
						$y++;
						$m++;}
				else{
						$i++;echo "<input name='tipo_producto".$i."'"; echo "type='checkbox' value='".$id_tipos[$y]."'";
						 echo "/>";
						
		echo "&nbsp;".$tiposdeproducto[$m]."<br>";
		$y++;
		$m++;}}
   
}}
De esta manera guardo en 'tiposdeproducto' todos las opciones elegibles por el usuario y en teoria 'productosseleccionados' almacena lo que eligio el usuario y con los foreach los comparo para mostrar como checked los que han sido elegidos, pero no me esta funcionando

Apreciaria cualquier tipo de ayuda con esto

Última edición por Agrus; 21/01/2010 a las 00:06 Razón: Acomodar todo el codigo para que fuera algo mas entendible :P