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($row2= mysql_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_nocargo= mysql_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'];
}
?>