Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/04/2011, 19:04
Avatar de ajalex
ajalex
 
Fecha de Ingreso: agosto-2003
Mensajes: 122
Antigüedad: 20 años, 8 meses
Puntos: 0
Checkbox y explode

hola! tengo un pequeño problea, estoy utilizando checkboxes para insertar en un campo en la db con array pero cuando actualizo un campo en la db me selecciona todos los checkboxes que tienen el mismo bueno vean aver si me explico

este es el form con los arrays de los checkboxes

Código:
    <th>portfolio</th>
    <td>

<input type="checkbox" name="upermiso[3][view]" value="1" />Ver&nbsp;&nbsp;
<input type="checkbox" name="upermiso[3][add]" value="1" />Añadir&nbsp;&nbsp;
<input type="checkbox" name="upermiso[3][edit]" value="1" />Editar&nbsp;&nbsp;
<input type="checkbox" name="upermiso[3][del]" value="1" />Borrar</td>
  </tr>  <tr>

    <th>services</th>
    <td>

<input type="checkbox" name="upermiso[2][view]" value="1" />Ver&nbsp;&nbsp;
<input type="checkbox" name="upermiso[2][add]" value="1" />Añadir&nbsp;&nbsp;
<input type="checkbox" name="upermiso[2][edit]" value="1" />Editar&nbsp;&nbsp;
<input type="checkbox" name="upermiso[2][del]" value="1" />Borrar</td>
  </tr>  <tr>

    <th>slider</th>
    <td>

<input type="checkbox" name="upermiso[1][view]" value="1" />Ver&nbsp;&nbsp;
<input type="checkbox" name="upermiso[1][add]" value="1" />Añadir&nbsp;&nbsp;
<input type="checkbox" name="upermiso[1][edit]" value="1" />Editar&nbsp;&nbsp;
<input type="checkbox" name="upermiso[1][del]" value="1" />Borrar</td>
cuando inserto en la db se insertan bien si selecciono view,add,edit,del en la db guardo: 0:0:0:0 <-- el valor 0 es si

ahora cuando recupero esos valores de la db hago esto:

Código PHP:
        $result3 $db->query("SELECT * from " $prefix "admin_menu order by title ASC");
        while (
$row3 $db->fetch_array($result3)) {
            
$cid intval($row3['cid']);
            
        
$pms2 $db->query("select * FROM ".$prefix."admin_pms where mlink='3' and uid='2'") ;
        
$permis2 $db->fetch_array($pms2) ;
            if (
$permis2[options] == "") { } else {
            
$options explode(":",$permis2[options]);
            
$view = ($options[0]==1?'':'checked="checked"');
            
$add = ($options[1]==1?'':'checked="checked"');
            
$editm = ($options[2]==1?'':'checked="checked"');
            
$del = ($options[3]==1?'':'checked="checked"');
            } 
primero listo todos mis menus disponibles luego selecciono en admin_pms por el id del menu y el id del usuario para comprobar el permiso y hago un explode e imprimo todo aqui:

Código PHP:
<input type="checkbox" name="upermiso[<? echo $cid;?>][view]" value="1" <? echo $view;?>/>Ver&nbsp;&nbsp;
<input type="checkbox" name="upermiso[<? echo $cid;?>][add]" value="1" <? echo $add;?>/>Añadir&nbsp;&nbsp;
<input type="checkbox" name="upermiso[<? echo $cid;?>][edit]" value="1" <? echo $editm;?>/>Editar&nbsp;&nbsp;
<input type="checkbox" name="upermiso[<? echo $cid;?>][del]" value="1" <? echo $del;?>/>Borrar</td>
el cid es el id del menu, pero digamos que de mi menu 1 solo seleccione view, en la db se guarda correctamente, pero a la hora que lo imprimo todos los view que listo salen seleccionados

alguien que me pueda ayudar? help!! jeje