Foros del Web » Programando para Internet » PHP »

Update row cuyo nombre incluye números

Estas en el tema de Update row cuyo nombre incluye números en el foro de PHP en Foros del Web. Saludos. Tengo un problema con el siguiente código: Código PHP: mysql_query ( "UPDATE lista SET 07_2009=07_2009+1 WHERE ID='$id'" );  Al parecer, si la row a la que le hago update ...
  #1 (permalink)  
Antiguo 23/05/2009, 09:50
 
Fecha de Ingreso: mayo-2008
Mensajes: 30
Antigüedad: 16 años, 5 meses
Puntos: 0
Update row cuyo nombre incluye números

Saludos. Tengo un problema con el siguiente código:

Código PHP:
mysql_query("UPDATE lista SET 07_2009=07_2009+1 WHERE ID='$id'"); 
Al parecer, si la row a la que le hago update contiene números, no me deja sumarle 1. Si le cambio el nombre a "julio_dosmilnueve" por ejemplo, si deja.

Pero el problema es que necesito mantener ese nombre en la tabla... ¿hay alguna manera de arreglarlo?

Muchas gracias.
  #2 (permalink)  
Antiguo 23/05/2009, 09:55
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 15 años, 7 meses
Puntos: 19
Respuesta: Update row cuyo nombre incluye números

que es lo que quieres hacer??? como vas a sumarle un 1 a una cadena??? umm no entiendo si te explicaras mejor
__________________
La estadística es una ciencia que demuestra que si mi vecino tiene dos coches y yo ninguno, los dos tenemos uno.
  #3 (permalink)  
Antiguo 23/05/2009, 09:58
 
Fecha de Ingreso: mayo-2008
Mensajes: 30
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Update row cuyo nombre incluye números

07_2009 es el nombre de un campo de una tabla en una BD.
Lo que quiero hacer es sumarle 1 al valor de ese campo.

Si a ese campo lo llamo 'cualquier-cosa-con-letras' me deja sumárselo, en cambio, si el nombre del campo contiene algún numero, no me deja hacerlo.

Es decir:

Así sí me deja

Código PHP:
mysql_query("UPDATE lista SET julio_nueve=julio_nueve+1 WHERE ID=''"); 
Así no me deja
Código PHP:
mysql_query("UPDATE lista SET 07_2009=07_2009+1 WHERE ID=''"); 
  #4 (permalink)  
Antiguo 23/05/2009, 10:04
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 15 años, 7 meses
Puntos: 19
Respuesta: Update row cuyo nombre incluye números

ok si lo haces asi:

$dato="07_2009";
$dato=explode("_",$dato);
$suma=$dato[1]+1;

$dato="$dato[0]_$suma";

y ahora lo que insertas sera la variable dato pero con comillas simples por que recuerda que es una cadena no un numero
__________________
La estadística es una ciencia que demuestra que si mi vecino tiene dos coches y yo ninguno, los dos tenemos uno.
  #5 (permalink)  
Antiguo 23/05/2009, 10:12
 
Fecha de Ingreso: mayo-2008
Mensajes: 30
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Update row cuyo nombre incluye números

Cita:
Iniciado por By_George Ver Mensaje
ok si lo haces asi:

$dato="07_2009";
$dato=explode("_",$dato);
$suma=$dato[1]+1;

$dato="$dato[0]_$suma";

y ahora lo que insertas sera la variable dato pero con comillas simples por que recuerda que es una cadena no un numero
Creo que no me expliqué bien ...

Ese script lo que hace es dividir 07_2009 en 07_ y 2009 y sumarle uno a 2009 para que de 10 ¿No?

Yo no me refiero a sumarle 1 a 07_2009, sino a sumar 1 al valor que hay en el campo llamado 07_2009.

Una imagen para verlo mejor:

img7.imageshack.us/img7/681/user1p.jpg

El problema es que si el nombre del campo tiene números, no me deja sumarle 1 al valor. Pero si cambio "07_2009" por "hola" (por ejemplo) si deja.
  #6 (permalink)  
Antiguo 23/05/2009, 10:19
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 15 años, 7 meses
Puntos: 19
Respuesta: Update row cuyo nombre incluye números

no pues entonces lo que tiene es que extraer primero el dato y de ahi sumarle un 1 para de ahi hacer el update
__________________
La estadística es una ciencia que demuestra que si mi vecino tiene dos coches y yo ninguno, los dos tenemos uno.
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:35.