Ver Mensaje Individual
  #5 (permalink)  
Antiguo 04/07/2013, 15:00
Avatar de leo_garay91
leo_garay91
 
Fecha de Ingreso: mayo-2012
Ubicación: argentina
Mensajes: 51
Antigüedad: 12 años
Puntos: 0
Respuesta: modificar datos desde checkbox

bueno, con la ayuda de un amigo he logrado descubrir el problema... lo q pasaba era que el primer indice del array de row1 se utilizaba en el SELECT y cuando iba al while el indice ya estaba en la posicion 2...
luego para reducir codigo creamos un array de array y de ahi se puede trabajar mejor...
nose si me explico bien.. pego el codigo por si alguien necesita algo similar..


Código PHP:
<?php
include ("../conection.php");
$id=$_GET['num_art'];  //--------------TRAE EL NUMERO DE ARTICULO

// consulta para seleccionar y mostrar el articulo en el select
$sql1=mysql_query("SELECT ca.id_cargo,ca.nombre_cargo, art.numero_art,art.id_articulo,art.nombre_art 
FROM cargoXarticulo carArt, cargos ca, articulo art
WHERE
carArt.id_cargo = ca.id_cargo
AND carArt.id_articulo = art.id_articulo
AND carArt.id_articulo = (SELECT id_articulo FROM  articulo WHERE numero_art = '$id')
ORDER BY id_cargo DESC"
,$con);

                   
//consulta para traer los checkbox que no fueron seleccionados usa el LEFT JOIN
$sql_Nocargos=mysql_query("SELECT ca.id_ cargo,ca.nombre_ cargo
FROM  cargo ca
LEFT JOIN   articulos carArt  ON carArt.id_ cargo = ca.id_cargo
AND carArt.id_articulo = (SELECT id_articulo FROM  articulo WHERE numero_art = '$id')
WHERE carArt.id_cargo is NULL"
,$con); 

$resultado= array();
$row=array();
while(
$row=mysql_fetch_array($sql1)){
        
$resultado[]=$row;   //array de array
    
}
    
///print_r($resultado);
$row1=$resultado[0]; //muestra el primer elemento del array que es para mostrar el articulo que se quiere modificar

<td> <!-- muestro  el articulo que se quiere editar-->
  <
select readonly="readonly" id="lista"  name="articulo">
     <
option selected="<?php echo $row1['id_articulo'];?>" value="<?php echo $row1['id_articulo'];?> " >
<?
php echo $row1['numero_art'].' - '.$row1['nombre_art'];?> </option>
   </select>
</td>
<td align="right">cargos *</td> 
<td><?php 
        
//----------- SE CARGAN LOS CHECKBOX que fueron seleccionados


foreach ($resultado as $row2
            {
                
                
    echo 
'<input id="check" type="checkbox" name="cargo[]" checked value='.$row2['id_cargo'].'>'.$row2['id_cargo'].'-'.$row2['nombre_cargo'];
}
//consulta para traer los checkbox que no fueron seleccionados 
        
while($row_nocargomysql_fetch_array($sql_Nocargos,MYSQL_ASSOC)) 
{
                
    echo 
'-<input id="check" type="checkbox" name="cargo[]" checked value='.
$row_nocargo['id_cargo'].'>'.$row_nocargo['id_cargo'].'-'.
$row_nocargo['nombre_cargo'];
}
?>