Foros del Web » Programando para Internet » PHP »

sumar uno al mayor registro

Estas en el tema de sumar uno al mayor registro en el foro de PHP en Foros del Web. Buenos días. He conseguido obtener el mayor de los registros de una tabla con el siguiente código: Código PHP: $rs  =  mysql_query ( "select $campo from $tabla order by $campo desc" ); ...
  #1 (permalink)  
Antiguo 28/04/2009, 03:45
Avatar de rafaconpu  
Fecha de Ingreso: febrero-2006
Mensajes: 331
Antigüedad: 18 años, 2 meses
Puntos: 3
sumar uno al mayor registro

Buenos días.

He conseguido obtener el mayor de los registros de una tabla con el siguiente código:

Código PHP:
$rs mysql_query("select $campo from $tabla order by $campo desc");
$regmayor mysql_result($rs0); 
Hasta ahi todo bien.

El registro que obtengo se compone de: CODIGO + NUMERO (Ej: T009) de tipo varchar.

Lo que pretendo hacer es separar el texto (T) del numero (009), sumarle uno, agregarle ceros (para mantener el formato) y devolver el código nuevo relleno.

Ejemplo:
1. He obtenido el código mayor: T009
2. Separar T del 009
3. Al 009 sumarle 1 = obtengo 10
4. Rellenar con ceros hasta completar el formato del codigo (como 10 son dos digitos, me faltaría un cero a la izquierda) = 010
5. Unir T al codigo nuevo = T010 y este es el valor que devuelvo.

Básicamente es eso. No se si hay otra forma más sencilla de hacer.
Como quien dice tengo el primer paso hecho, pero los otros estoy teniendo dificultades para separar T del 009 y la forma de comprobar la longitud para agregarle ceros.

¿Alguna idea o sugerencia? Gracias.
  #2 (permalink)  
Antiguo 28/04/2009, 05:18
 
Fecha de Ingreso: septiembre-2004
Mensajes: 324
Antigüedad: 19 años, 7 meses
Puntos: 13
Respuesta: sumar uno al mayor registro

El "Código" siempre tiene 4 caracteres de longitud?
Si es así utiliza una expresion regular par buscar y separar el valor.
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 13:43.