Foros del Web » Programando para Internet » PHP »

Problema con update sql

Estas en el tema de Problema con update sql en el foro de PHP en Foros del Web. Que tal gente queria saber como puedo hacer para por ejemplo tengo una tabla de 500 puntos y le quiero editar y poner 5000 puntos ...
  #1 (permalink)  
Antiguo 12/06/2011, 16:52
 
Fecha de Ingreso: mayo-2011
Mensajes: 62
Antigüedad: 12 años, 11 meses
Puntos: 2
Problema con update sql

Que tal gente queria saber como puedo hacer para por ejemplo tengo una tabla de 500 puntos y le quiero editar y poner 5000 puntos pero el problema es que por ejemplo yo que le quiero sumar 5 puntos mas me los sume poniendo en algun input 5 y al poner "Agregar " que automaticamente se updatee los puntos y quede 505 quiero saber como hacer eso ya que con el update tradicional si pones 5 en vez de quedar 505 queda 5 directamente.
Espero respuesta muy agradecido gente saludos
  #2 (permalink)  
Antiguo 12/06/2011, 17:07
Avatar de C2am  
Fecha de Ingreso: enero-2009
Ubicación: Rosario, Argentina
Mensajes: 2.005
Antigüedad: 15 años, 3 meses
Puntos: 306
Respuesta: Problema con update sql

La verdad no entendi nada. Hablas de 500 puntos, después de 5000, y luego de 5, y al final de 505. Se un poco más claro.

¿quieres sumar 5 puntos a TODOS los que tengan 500 puntos? ¿o a todos en tu base de datos?
¿quieres cambiar a los que tienen 500 por 5000?

Todo depende del filtro en el update
Código PHP:
Ver original
  1. $puntosnuevos1= 5000;
  2. $sql = "UPDATE tablapuntos SET puntos = '".$puntosnuevos1."' WHERE puntos= 500
  3.  
  4.  
  5. $puntosnuevos2= 505;
  6. $sql = "UPDATE tablapuntos SET puntos = '".$puntosnuevos2."' WHERE puntos= 500
En la clausula Where le indicas el filtro a quienes quieres sumar esos ¿500?¿5000?¿5?, bue, me perdí.

Saludos

PD: el uso de comas, puntos y comas, puntos, etc, ayuda un montón a la buena compresión de tus dudas.
__________________
El mundo nada puede contra un hombre que canta en la miseria.
-- Ernesto Sábato--
  #3 (permalink)  
Antiguo 12/06/2011, 17:21
 
Fecha de Ingreso: mayo-2011
Mensajes: 62
Antigüedad: 12 años, 11 meses
Puntos: 2
Respuesta: Problema con update sql

Cita:
Iniciado por C2am Ver Mensaje
La verdad no entendi nada. Hablas de 500 puntos, después de 5000, y luego de 5, y al final de 505. Se un poco más claro.

¿quieres sumar 5 puntos a TODOS los que tengan 500 puntos? ¿o a todos en tu base de datos?
¿quieres cambiar a los que tienen 500 por 5000?

Todo depende del filtro en el update
Código PHP:
Ver original
  1. $puntosnuevos1= 5000;
  2. $sql = "UPDATE tablapuntos SET puntos = '".$puntosnuevos1."' WHERE puntos= 500
  3.  
  4.  
  5. $puntosnuevos2= 505;
  6. $sql = "UPDATE tablapuntos SET puntos = '".$puntosnuevos2."' WHERE puntos= 500
En la clausula Where le indicas el filtro a quienes quieres sumar esos ¿500?¿5000?¿5?, bue, me perdí.

Saludos

PD: el uso de comas, puntos y comas, puntos, etc, ayuda un montón a la buena compresión de tus dudas.
Disculpa se me fue un 0 de mas a ver te soy claro disculpa:

Tengo un usuario llamado USUARIO 1 yo ME LLAMO ADMIN entro a mi panel de admin y quiero sumarle a USUARIO1 5 puntos el en su cuenta ya tiene 500 puntos yo quiero sumarle 5 para que quede 505 el tema es que el update sql si pongo 5 al actualizar en la db queda 5 y no 505 yo quiero osea que se sume.
Espero que me hallas entendido gracias
  #4 (permalink)  
Antiguo 12/06/2011, 17:34
Avatar de C2am  
Fecha de Ingreso: enero-2009
Ubicación: Rosario, Argentina
Mensajes: 2.005
Antigüedad: 15 años, 3 meses
Puntos: 306
Respuesta: Problema con update sql

Creas un formulario donde te muestre el nombre de usuario y los puntos que tienes
Usuario: USUARIO1
puntos: xxx
Y creas un campo en dicho formulario donde pones las cantidad de puntos que quieras darle:
puntosextras = xxx
y en un campo hidden, puedes enviar el id del usuario, si es que tienes un id en la base de datos
Luego procesas el formulario a donde te llegarían los datos del usuario, los puntos que tiene y los puntos extras que le quieras dar:



Código PHP:
Ver original
  1. //recibes los datos del form
  2. $puntosUsu1= $_Post['puntos'];
  3. $bonus = $_Post['puntosextras'];
  4. $usuario=$_Post['Usuario'];
  5. $IDusu= $_Post['id'];
  6.  
  7. //procesas
  8. $puntosfinales = $puntosUsu1 + $bonus;
  9.  
  10. //guardas el nuevo puntaje
  11. $sql = "UPDATE tablapuntos SET puntos = '".$puntosfinales."' WHERE id=$IDusu


Digamos básicamente sería así el proceso, a modo de ejemplo muy básico, el cual deberás mejorar y adaptar a tus necesidades.
__________________
El mundo nada puede contra un hombre que canta en la miseria.
-- Ernesto Sábato--
  #5 (permalink)  
Antiguo 12/06/2011, 17:38
Avatar de Silkon  
Fecha de Ingreso: mayo-2011
Ubicación: Lugo
Mensajes: 201
Antigüedad: 12 años, 11 meses
Puntos: 20
Respuesta: Problema con update sql

Directamente en sql seria así

Código SQL:
Ver original
  1. UPDATE tablapuntos SET puntos = puntos+5 WHERE puntos= 500

Saludos
  #6 (permalink)  
Antiguo 12/06/2011, 22:38
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
Respuesta: Problema con update sql

Holas,

Talvez tengas el campo de tipo de cadena varchar, podrias mejor aun usar en tu SQL algo como:

Código MySQL:
Ver original
  1. SELECT CAST('500 ' AS UNSIGNED) + 5;

Saludos
Gildus
__________________
.: Gildus :.
  #7 (permalink)  
Antiguo 13/06/2011, 03:22
 
Fecha de Ingreso: marzo-2011
Mensajes: 107
Antigüedad: 13 años
Puntos: 22
Respuesta: Problema con update sql

Cita:
Iniciado por Silkon Ver Mensaje
Directamente en sql seria así

Código SQL:
Ver original
  1. UPDATE tablapuntos SET puntos = puntos+5 WHERE puntos= 500

Saludos
Silkon tiene razón, esta es la forma de escribir la sentencia para que te sume los 5 puntos. O si quieres sumarselos a un determinado usuario:

Código SQL:
Ver original
  1. UPDATE tablapuntos SET puntos = puntos+5 WHERE id = $id

Etiquetas: sql, update
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 21:00.