Foros del Web » Programando para Internet » PHP »

como hacer un update si la variable contiene un valor

Estas en el tema de como hacer un update si la variable contiene un valor en el foro de PHP en Foros del Web. Hola, no se como hacer para actualizar varios campos de mi bd, pero solo si la variable que le paso existe ya que las creo ...
  #1 (permalink)  
Antiguo 17/08/2012, 10:25
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
como hacer un update si la variable contiene un valor

Hola, no se como hacer para actualizar varios campos de mi bd, pero solo si la variable que le paso existe ya que las creo dinamicamente , por ejemplo algo asin:

teniendo los campos con posibilidades de actualizar llamadas campo1, campo2,campo3;

si las tres variables existes seria algo asin:

Código MySQL:
Ver original
  1. UPDATE tabla SET campo1 = $valor1, campo2 = $valor2, campo3=$valor3 ;

pero como lo podria hacer si no se que variables va a existir, no se si se entiende pero espero que me puedan ayudar, saludos.
  #2 (permalink)  
Antiguo 17/08/2012, 10:30
 
Fecha de Ingreso: agosto-2012
Ubicación: M.
Mensajes: 2.031
Antigüedad: 11 años, 8 meses
Puntos: 52
Respuesta: como hacer un update si la variable contiene un valor

if(isset($valor1)){
if(isset($valor2)){
if(isset($valor3)){
UPDATE tabla SET campo1 = $valor1, campo2 = $valor2, campo3=$valor3 ;
}
}
}

puedes usar and tambien
  #3 (permalink)  
Antiguo 17/08/2012, 10:31
 
Fecha de Ingreso: agosto-2012
Ubicación: M.
Mensajes: 2.031
Antigüedad: 11 años, 8 meses
Puntos: 52
Respuesta: como hacer un update si la variable contiene un valor

soy nuevo aqui, sabes como puedo crear un tema?
  #4 (permalink)  
Antiguo 17/08/2012, 10:41
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
Respuesta: como hacer un update si la variable contiene un valor

ves arriba darle a foros del web, y seleciona el lenguaje que quieres iniciar un tema, despues ya te pone iniciar tema, sobre lo mio no lo acabo de entender, de esta forma que me dices si por ejemplo el campo3 no existe y en mi bd el campo 3 contiene algo que no lo quiero actualizar creo que se actualizaria y no saldria nada verdad.

Saludos.
  #5 (permalink)  
Antiguo 17/08/2012, 10:44
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
Respuesta: como hacer un update si la variable contiene un valor

Cita:
Iniciado por minombreesmm Ver Mensaje
if(isset($valor1)){
if(isset($valor2)){
if(isset($valor3)){
UPDATE tabla SET campo1 = $valor1, campo2 = $valor2, campo3=$valor3 ;
}
}
}

puedes usar and tambien
Ademas de esta forma si no existe alguna variable me dara un error el update, digo yo , alguien me puede decir la forma de hacer esto.
  #6 (permalink)  
Antiguo 17/08/2012, 10:46
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 3 meses
Puntos: 155
Respuesta: como hacer un update si la variable contiene un valor

la onda es que no te estas dando a e entender para nada carnal , de hecho así como contesto minombreesmm asumí que estaba bien, pero vamonos por partes diria jack el destripador, en el update que pones ahí de ejemplo , actualizarías todos los campo1 campo2 y campo3 por que no le dices que sea de un id en especifico, como sabrías a que fila correspondería ese valor que quieres actualizar ?
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #7 (permalink)  
Antiguo 17/08/2012, 10:56
 
Fecha de Ingreso: agosto-2012
Ubicación: En algún lugar de México
Mensajes: 41
Antigüedad: 11 años, 8 meses
Puntos: 16
Respuesta: como hacer un update si la variable contiene un valor

Si no sabes si todas las variables van a tener algun valor pero con que solo una lo tenga tengas que aplicar la actualización entonces debes generar una cadena SQL dinámica XD como esta:


if (isset($valor1) && !empty($valor1)){
$SQL="UPDATE TABLE SET ";
$SQL.="campo1=".$valor1;
}
iif (isset($valor2) && !empty($valor2))
$SQL.=", campo2=".$valor2;

if (isset($valor3) && !empty($valor3))
$SQL.=", campo3=".$valor3;


$SQL.=" where 1=1"; //Reemplazar por tu condición

if ($SQL!=''){
mysql_query($SQL); //Aqui iría la ejecución del update
}

En este caso no genería algun error la consulta. Espero que te sirva
  #8 (permalink)  
Antiguo 17/08/2012, 10:58
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
Respuesta: como hacer un update si la variable contiene un valor

mogurbon, tienes razon pero el ejemplo del update era solo para entender lo de los campos en realidad tendria que darle un id de la fila, te cuento un poco por si puedes ayudarme.

los campos 1,2,3 son campos fechas de eventos del usuario,doy la opcion de añadir eventos nuevos o actualizarlos, pero claro estos eventos con un maximo de 3 osea tres campos, no siempre el usuario quiere programar tres eventos puede ser que quiero 2 o 1, entonces como lo puedo hacer para actualizar solo los campos que existan, osea que la variable exista, se entiende ahora mi problema, saludos.
  #9 (permalink)  
Antiguo 17/08/2012, 11:00
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
Respuesta: como hacer un update si la variable contiene un valor

Cita:
Iniciado por kale86 Ver Mensaje
Si no sabes si todas las variables van a tener algun valor pero con que solo una lo tenga tengas que aplicar la actualización entonces debes generar una cadena SQL dinámica XD como esta:


if (isset($valor1) && !empty($valor1)){
$SQL="UPDATE TABLE SET ";
$SQL.="campo1=".$valor1;
}
iif (isset($valor2) && !empty($valor2))
$SQL.=", campo2=".$valor2;

if (isset($valor3) && !empty($valor3))
$SQL.=", campo3=".$valor3;


$SQL.=" where 1=1"; //Reemplazar por tu condición

if ($SQL!=''){
mysql_query($SQL); //Aqui iría la ejecución del update
}

En este caso no genería algun error la consulta. Espero que te sirva
mas o menos te entiendo pero si la consulta la hago con pdo, como seria.
  #10 (permalink)  
Antiguo 17/08/2012, 11:05
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 3 meses
Puntos: 155
Respuesta: como hacer un update si la variable contiene un valor

ok entonces digamos de un usuario de id determinado pongamos un ejemplo para comprende rmejor que necesitas

si este usuario tiene fecha1 y fecha2 pero fecha3 esta vació , que necesitarías que se hiciera en ese caso?
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #11 (permalink)  
Antiguo 17/08/2012, 11:11
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
Respuesta: como hacer un update si la variable contiene un valor

Cita:
Iniciado por mogurbon Ver Mensaje
ok entonces digamos de un usuario de id determinado pongamos un ejemplo para comprende rmejor que necesitas

si este usuario tiene fecha1 y fecha2 pero fecha3 esta vació , que necesitarías que se hiciera en ese caso?
pues actualizar el campo fecha1 y fecha2, saludos.
  #12 (permalink)  
Antiguo 17/08/2012, 11:23
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 3 meses
Puntos: 155
Respuesta: como hacer un update si la variable contiene un valor

que pasaría con el campo de fecha 3?
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #13 (permalink)  
Antiguo 17/08/2012, 11:28
 
Fecha de Ingreso: agosto-2012
Ubicación: En algún lugar de México
Mensajes: 41
Antigüedad: 11 años, 8 meses
Puntos: 16
Respuesta: como hacer un update si la variable contiene un valor

no men, no he utilizado pdo, pero la idea es esa, generar una consulta que se adecue a tus datos, supongo que los campos (campo1,campo2,campo3) permiten valores nulos
  #14 (permalink)  
Antiguo 17/08/2012, 11:32
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: como hacer un update si la variable contiene un valor

$valor3=null;

if(!empty($valor3)){

UPDATE tabla SET campo1 = $valor1, campo2 = $valor2, campo3=$valor3;

}

como ves si a la variable tu no le das valor no te aztualizara , ahora intenta amoldarlo a lo que tu busques hacer
  #15 (permalink)  
Antiguo 17/08/2012, 11:33
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
Respuesta: como hacer un update si la variable contiene un valor

Cita:
Iniciado por mogurbon Ver Mensaje
que pasaría con el campo de fecha 3?
se quedaria igual como estaba
  #16 (permalink)  
Antiguo 17/08/2012, 11:38
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 3 meses
Puntos: 155
Respuesta: como hacer un update si la variable contiene un valor

jajaja ya entendi, es como dice kale , según lo que exista de variables enviadas , vas formando la consulta que necesitas
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #17 (permalink)  
Antiguo 17/08/2012, 11:44
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: como hacer un update si la variable contiene un valor

como dijo kale es muy buena opcion , sirempre para hacer lo que quieres debes verificar que variables llegan nulas y cuales no y en funcion de eso llamas a la consulta en cuestion
  #18 (permalink)  
Antiguo 17/08/2012, 12:12
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 6 meses
Puntos: 56
Respuesta: como hacer un update si la variable contiene un valor

mi sugerencia es que cada evento se registre como una entrada más en una tabla específica (eventos por ejemplo), puedes controlar la cantidad de eventos desde tu app, ahora tienes como máximo 3, que pasaría si luego necesitas 5, 10, N eventos? y cada evento con la fecha-hora y el id del usuario al que le corresponde con esa info puedes hacer updates sin problema.
__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #19 (permalink)  
Antiguo 17/08/2012, 17:52
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
Respuesta: como hacer un update si la variable contiene un valor

bueno deciros que muchas gracias a todos por vuestra colaboracion, la verdad que vuestras respuestas me van a servir de mucho para poder solucionar mi problema y jcxnet lo tendre en cuenta tu sugerencia, gracias.

Saludos.

Etiquetas: tabla, update, variables
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 14:38.