Ver Mensaje Individual
  #4 (permalink)  
Antiguo 03/07/2013, 01:42
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

encontre una forma... de hacer lo que necesitaba.. pero en media rebuscada y tengo que realizar 2 veces la misma consulta....
repido la consulta por que si uso la misma consulta me trae el articulo pero solo me trae un solo registro del checkbox
alguien me ayuda a optimizar este codigo?

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 los checkbox
$sql2=mysql_query("SELECT rev.id_ cargo,rev.nombre_ cargo,art.numero_art,art.id_articulo,art.nombre_art 
FROM  cargoZarticulo carArt,  cargo ca,  articulo art
WHERE
carArt.id_ cargo = rev.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);

$row1=mysql_fetch_array($sql1);

?>
<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


while($row2mysql_fetch_array($sql2,MYSQL_ASSOC)) 
{
                
    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'];
}
?>