Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/04/2012, 03:42
bruno911
 
Fecha de Ingreso: mayo-2004
Mensajes: 102
Antigüedad: 20 años
Puntos: 5
array y checkbox (necesitando aspirinas).

Buenas!
Estoy con el siguiente dolor de cabeza, jeje.

Por un lado tengo una pagina.php donde modifico los datos de los registros de una tabla llamada tabla_a_modificar_parent por otro lado tengo una tabla llamada tabla_child

Entonces pongamos que el form sea asi:

1|Input:Nombre|
2|Input:edad|
3|Checkbox[]: tabla_child|

cuando agrego un record en el checkbox osea colomna 3 se guardan los datos de los id de la tabla_child de esta manera 1,2,9,44,100 en el caso que ese record pues tenga seleccionados id de la tabla_child.

Entonces en la pagina.php (donde modifico los records de tabla_a_modificar_parent) listo todo el contenido de tabla_child, hago un explode de la columna 3

y obtengo, por un lado un array que viene desde el explode que es

$numero[0] => 1. $numero[1] => 2. $numero[2] => 9. $numero[3] => 44. $numero[4] => 100



por otro lado tengo la lista de tabla_child que se listo

tabla_child_record1
tabla_child_record2
tabla_child_record3
tabla_child_record4
tabla_child_record5
tabla_child_record6
....

Mi objetivo seria hacer que se seleccionen los checkbox que coinciden con el array.
pero al hacer un if y comparar los string que vienen listados desde tabla_child y el array la comparación se hace de esta manera

tabla_child_record1=1(se selecciona)
tabla_child_record2=2(se selecciona)
tabla_child_record3=9(no se selecciona)
tabla_child_record4=44(no se selecciona)
tabla_child_record5=100(no se selecciona)
tabla_child_record6=null(no se selecciona)
tabla_child_record7=null(no se selecciona)
tabla_child_record8=null(no se selecciona)
tabla_child_record9=null(no se selecciona)
tabla_child_record10=null(no se selecciona)

Pero si lo pensamos bien el 9 se debería seleccionar porque esta en el array.

Bueno espero haber explicadome bien y bueno aqui dejo el codigo que estoy utilizando ahora para que no tengas que crear un codigo de cero para reproducir la logica del problema

Código PHP:
<?PHP
mysql_select_db
($database_localhost$localhost);
$query_mm "SELECT * FROM tabla_child ORDER BY 'Id_tabla_child' ASC";
$mm mysql_query($query_mm$localhost) or die(mysql_error());
$row_mm mysql_fetch_assoc($listar_facilities);
$totalRows_mm mysql_num_rows($listar_facilities);
$numero explode(", ",$row_school_profile['facilidades']);
?>

<?php $is='0'; do { echo 'numero '.$is?>
        <input name="Checkbox[]" type="checkbox" value="<?php echo $row_mm['Id_tabla_child']; ?>"
          <?php if($row_mm['Id_tabla_child']==$numero[$is]){echo "checked=\"checked\"";} ?> />
        <?php echo $row_mm['label']; ?> <br />
 <?php $is++;} while ($row_mm mysql_fetch_assoc($mm)); ?>
__________________
Bruno Quintana