Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Error contenido duplicado actualizar base de datos

Estas en el tema de Error contenido duplicado actualizar base de datos en el foro de PHP en Foros del Web. Hola amigos, tengo la siguiente duda: Tengo una base de datos con los campos id_user - parent_id - asignación Y quiero que en un formulario ...
  #1 (permalink)  
Antiguo 29/06/2015, 10:38
 
Fecha de Ingreso: diciembre-2013
Mensajes: 24
Antigüedad: 10 años, 3 meses
Puntos: 1
Error contenido duplicado actualizar base de datos

Hola amigos, tengo la siguiente duda:

Tengo una base de datos con los campos id_user - parent_id - asignación
Y quiero que en un formulario cuando introduzca el id_user y el parent_id me actualice a 10 el campo asignación.

Quiero obtener de la consulta los dos datos que quiero.

El problema viene a que con mi código me actualiza la asignación a todos los usuarios!!

Código PHP:
 <?

$conexion 
mysql_connect("localhost""root""");
mysql_select_db("pruebas"$conexion);
?>

<form id="form1" name="form1" method="post" action="nueva_alta.php">
  <table width="200" border="0">
  <tr>
    <td width="61">Id_user:</td>
    <td width="123">
      <label for="id_user"></label>
      <input type="text" name="id_user" id="id_user" />
    </td>
  </tr>
  <tr>
    <td>Parent_id:</td>
    <td><label for="parent_id"></label>
    <input type="text" name="parent_id" id="parent_id" /></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td align="right">
    <input type="submit" name="enviar" id="enviar" value="Enviar" />
    </td>
  </tr>
</table>
</form>


<?
 
 $sql 
"SELECT id_user,parent_id FROM usuarios";
 
$retval mysql_query$sql$conexion);

while(
$row =  mysql_fetch_assoc($retval)){
    
        
$get_parent $row['parent_id'];
        
$get_user $row['id_user']; 
 
        
$query "UPDATE usuarios SET asignacion = 10 WHERE parent_id = $get_parent AND id_user = $get_user "
        
$result mysql_query($query); 

}
?>
  #2 (permalink)  
Antiguo 29/06/2015, 11:02
Avatar de jpint  
Fecha de Ingreso: junio-2012
Ubicación: Ciudad Real - España
Mensajes: 97
Antigüedad: 11 años, 9 meses
Puntos: 12
Respuesta: Error contenido duplicado actualizar base de datos

Si en el bucle recorres todos los usuarios de la tabla, pues te va a hacer un UPDATE por cada registro:

Código PHP:
<? 
  
 $sql 
"SELECT id_user,parent_id FROM usuarios"
 
$retval mysql_query$sql$conexion); 

while(
$row =  mysql_fetch_assoc($retval)){ 
     
        
$get_parent $row['parent_id']; 
        
$get_user $row['id_user'];  
  
        
$query "UPDATE usuarios SET asignacion = 10 WHERE parent_id = $get_parent AND id_user = $get_user ";  
        
$result mysql_query($query);  


?>
Tienes que filtrar los datos en la consulta anterior:

Código PHP:
$sql "SELECT id_user,parent_id FROM usuarios where id_user=".$el_id_del_usuario_a_actualizar." "
Además ya no necesitas recorrer con un while los resultados, con comprobar si no está vacío el array sería suficiente:

Código PHP:
if($row =  mysql_fetch_assoc($retval)){    
    
///////////////

  #3 (permalink)  
Antiguo 29/06/2015, 15:08
 
Fecha de Ingreso: diciembre-2013
Mensajes: 24
Antigüedad: 10 años, 3 meses
Puntos: 1
Respuesta: Error contenido duplicado actualizar base de datos

Muchas gracias por la ayuda, problema resuelto, compliqué demasiado el código cuando era más sencillo.

Saludos!

Etiquetas: contenido, duplicado, formulario, mysql, select, sql, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:42.