Foros del Web » Programando para Internet » PHP »

como creo un update de dos filas a la misma tabla

Estas en el tema de como creo un update de dos filas a la misma tabla en el foro de PHP en Foros del Web. hola a todos me gustaria saver como hago un update a una misma tabla con dos filas. tengo una tabla de usuarios y quiero ingresar ...
  #1 (permalink)  
Antiguo 07/01/2015, 03:56
 
Fecha de Ingreso: diciembre-2014
Mensajes: 27
Antigüedad: 5 años
Puntos: 0
como creo un update de dos filas a la misma tabla

hola a todos me gustaria saver como hago un update a una misma tabla con dos filas. tengo una tabla de usuarios y quiero ingresar datos de dos filas en el mismo tiempo, quiero ingresar el avatar y el facebook a mismo tiempo
esta es mi tabla

CREATE TABLE IF NOT EXISTS `usuarios` (
`usuario_id` int(4) NOT NULL AUTO_INCREMENT,
`usuario_nombre` varchar(15) NOT NULL DEFAULT '',
`usuario_clave` varchar(32) NOT NULL DEFAULT '',
`usuario_email` varchar(50) NOT NULL DEFAULT '',
`usuario_freg` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`tipo` enum('2','1') NOT NULL DEFAULT '2',
`facebook` varchar(250) NOT NULL,
`twitter` varchar(250) NOT NULL,
`avatar` varchar(500) NOT NULL,




* este es el formulario para subie el avatar
Código PHP:
Ver original
  1. <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data">  
  2.   <p>Imagen perfil:  
  3.       <input name="fichero" type="file" size="20" maxlength="20">
  4.   <input name="submit" type="submit" value="Upload!">    
  5. </form>  
  6. </body>  
  7.  
  8. </html>
* este es el codigo que puedo ingresar solo el avatar

Código PHP:
Ver original
  1. $orden = ("select * from usuarios where usuario_id = ". $_SESSION['usuario_id'] ."");
  2. mysql_query("UPDATE  usuarios SET  avatar='".$_FILES['fichero']['name']."' where usuario_id = ". $_SESSION['usuario_id'] ."") ;    
  3.    
  4. }


gracias y gracias de responder
  #2 (permalink)  
Antiguo 07/01/2015, 05:46
Avatar de solmedina87  
Fecha de Ingreso: noviembre-2014
Mensajes: 68
Antigüedad: 5 años
Puntos: 4
Respuesta: como creo un update de dos filas a la misma tabla

1. Tenés que agregar en tu formulario de ingreso de datos el campo Facebook. Para tener ese valor.
2. En tu update podés hacer edición de tantos campos como quieras en el SET de la siguiente forma por ejemplo:
UPDATE table1 SET campo1=valor1, campo2=valor2, campo3=valor3, etc, etc WHERE...
  #3 (permalink)  
Antiguo 07/01/2015, 05:57
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.321
Antigüedad: 12 años
Puntos: 2653
Respuesta: como creo un update de dos filas a la misma tabla

Cita:
hola a todos me gustaria saver como hago un update a una misma tabla con dos filas. tengo una tabla de usuarios y quiero ingresar datos de dos filas en el mismo tiempo, quiero ingresar el avatar y el facebook a mismo tiempo
Voy a suponer que estás confundiendo "filas" con "columnas"...

Una "fila", en tu tabla, sería cada usuario individual, por lo que sólo debería aparecer una vez. Las columnas, que es lo que describes ocmo "avatar" y "facebook", son dos, pero de un sólo registro.

¿Es correcto.

Como te dice solmedina87, eso se hace en una misma sentencia en tanto sean ambos datos del mismo usuario.
Pero si se trata de dos usuarios diferentes, y son datos diferentes apra cada uno, entonces desde ya no se puede. El UPDATE aplica a cada unos de los registros devueltos por el WHERE y realiza la misma actualizacion en todos los campos de todos ellos con el mismo dato en cada caso que se indique.

Por lo demás, es algo que puedes ver en un manual de SQL...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: filas, mysql, select, tabla, update, 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 15:00.