Ver Mensaje Individual
  #3 (permalink)  
Antiguo 02/07/2013, 22:25
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

hola gracias por responder.... deje el proyecto por unos dias, retomo el tema de nuevo...para que no se me haga un lio.. muestro lo q ue estoy haciendo...
tengo 3 tablas
articulo(id_articulo,nombre) -> se cargan una serie de articulo
cargo(id_cargo,nombre) -> se cargan una serie de cargo
cargoXarticulo (id, id_articulo,id_cargo) -> con una relacion de n:m un articulo puede tener varios cargo.

la carga de estos datos se hacen de la siguiente manera.

Código HTML:
<td><select id="lista"  name="articulo">
				<option value="" selected="" > Seleccione un Articulos:</option>
				<?php 
				while($row= mysql_fetch_array($sql,MYSQL_ASSOC)) 
				{	 
					echo '<option value="'.$row['id_articulo'].'">'.$row['numero_art'].' - '.
$row['nombre_art'].'</option>';
					}
				?>
				</select>
		</td>
	</tr>
	<tr>
		<td align="right">cargo: *</td>
		<td><?php 
			while($row2= mysql_fetch_array($sql2,MYSQL_ASSOC)) 
				{
					echo '<input id="check" type="checkbox" name="cargo[]" value='.$row2['id_cargo'].'>'.$row2['id_cargo].'-'.
$row2['nombre_cargo'];
					}

				?>
		</td> 
hasta aca todo bien, pero ahora quiero editar, intentando entender lo que me quiso decir pateketrueke, hice 2 array uno con todos los datos que tenia la tabla cargos y otro con id_cargo que tiene cargosXarticulos y compararlos. pero cuando ejecuto este codigo me trae duplicados los checkbox, como muestra la imagen al final.

Código PHP:
<?php
$id 
=$_GET['id']; //------------ARTICULO QUE SE QUIERE MODIFICAR

$sql1=mysql_query("SELECT car.nombre_cargo, art.id_articulo, art.numero_art, art.nombre_art
            FROM cargosXarticulos carArt, cargos car, articulo art
            WHERE art.id_articulo = carArt.id_articulo
        
            AND `carArt.id` = $id"
,$con);
                    

$sql2=mysql_query("SELECT id_cargo,nombre_cargo  FROM cargos ORDER BY nombre_carogs DESC",$con);

$row1=mysql_fetch_array($sql1);
?>

//----------SE CARGA EL NUMERO DE ARTICULO QUE SE QUIERE MODIFICAR
<td align="right"><label>Numero Articulo:*</label></td>
        
        <td><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>
    </tr>
    <tr>
        <td align="right">Cargos: *</td> 
        <td>
        
            <?php 
//----------- SE CARGAN LOS CHECKBOX
    
            
while($row2mysql_fetch_array($sql2,MYSQL_ASSOC)) 
                {
                    
$sql_cargo=    mysql_query("SELECT ca.id_cargo, c.id_cargo, c.nombre_cargo, a.id_articulo
FROM cargoXarticulos ca, cargos c, articulos a
WHERE ca.id_cargo = c.id_cargo && ca.id_articulo = a.id_articulo && a.id_articulo ='"
.$row1['id_articulo']."'",$con);
                        

while(
$row_cargo=mysql_fetch_array($sql_cargo,MYSQL_ASSOC)){

    if(
$row2['id_revista']==$row_cargo['id_cargo'])         
        {                    
        echo 
'<input id="check" type="checkbox" name="cargo[]" checked value='.$row_cargo['id_cargo'].'>'.$row_cargo['id_cargo'].'-'.
$row_rev['nombre_cargo'];
                                                
                            }                            
                            else
                            { 
                            echo 
'<input id="check" type="checkbox" name="cargo[]"  value='.$row2['id_cargo'].'>'.$row2['id_cargo'].'-'.$row2['nombre_cargo'];                
                                                                
                                }                
                    }
                }
                
?>
        </td>