Foros del Web » Programando para Internet » PHP »

Se me ocurre como pero no se desarrollarlo

Estas en el tema de Se me ocurre como pero no se desarrollarlo en el foro de PHP en Foros del Web. Muy buenas :) Tengo una duda de cómo realizar una especie de generador de código interno para un pequeño software que estoy realizando. Soy nuevo ...
  #1 (permalink)  
Antiguo 26/11/2009, 12:37
 
Fecha de Ingreso: septiembre-2006
Mensajes: 97
Antigüedad: 17 años, 7 meses
Puntos: 1
Se me ocurre como pero no se desarrollarlo

Muy buenas :)
Tengo una duda de cómo realizar una especie de generador de código interno para un pequeño software que estoy realizando.
Soy nuevo en php por tanto no se por dónde partir.
Iré al grano.

En una tabla mysql guardo códigos de maquinas, los códigos siempre son correlativos y constan de: "dos letras" "un guion" y "numeros".
Ejemplo:

AC-1

Luego si quiero ingresar una nueva maquina, lo que NO QUIERO es que el usuario tenga que saber ¿cual código corresponde a la siguiente máquina?...
Sino mas bien que el codigo siguiente codigo se genere automaticamente y se guarde solo en la base de datos.

Por ejemplo, que sólo se genere el código AC-2.
Por tanto lo unico que cambia es la correlatividad del numero.

Ahora bien, pueden haber diferentes códigos, me refiero a las letras.
Ejemplo.

BA-1........... y que luego se genere solo un BA-2

Y así con distintos codigos. La idea es que se vayan autoincrementando solos los números en su correlatividad.

Ahora, mi problema es "¿cómo lo hago?"....

PD: el número indica el "NUMERO de la maquina".
En el caso anterior BA-1, significa BALANZA 1.

Lo unico que sé, es que el primer código será generado manualmente, lo que significa que siempre tendré un BA-1...... o un CA-1, etc...

¿Para generar estos códigos cómo poder hacerlo?

Pienso en realizar una consulta a la base de datos y extraer el primer código ya dado, ejemplo: el BA-1.
Luego tratar de separar de alguna forma para tener asi obtener el número y luego incrementarlo en + 1 y luego volver a concatenarlo en con las letras y finalmente guardarlo en la base de datos.

No se si será la mejor manera, pero se me ocurre asi.... de ser asi, mi problema es que se me ocurre pero ni idea de cómo realizarlo.

Espero haber sido claro. Por favor, ¿alguien que pueda ayudarme?
  #2 (permalink)  
Antiguo 26/11/2009, 12:43
 
Fecha de Ingreso: septiembre-2006
Mensajes: 97
Antigüedad: 17 años, 7 meses
Puntos: 1
Respuesta: Se me ocurre como pero no se desarrollarlo

Olvidaba algo.
Insertar y extraer datos en la base de datos mysql lo se hacer.

Lo que no se es como tratar de separar los códigos y concatenarlos.

Ejemplo:

Tengo BA-1

Como separar "BA-" del numero "1"
incrementar el "1" //ESTO SI LO SABRÍA HACER....
Luego concatenar....

Creo que si hay documentacion en internet para concatenar cadenas de caracteres.

Pero lo que no se es como separar hasta cierta parte....

Separar solo "BA-" o por ejemplo solo "BA" y luego ahi yo le agrego el "-" (guion)
  #3 (permalink)  
Antiguo 26/11/2009, 17:48
 
Fecha de Ingreso: abril-2003
Ubicación: Mexico
Mensajes: 604
Antigüedad: 21 años
Puntos: 23
Respuesta: Se me ocurre como pero no se desarrollarlo

Buenas!!

con explode()

ahi le indicas que quieres extrear cual es tu referencia y listo... en este caso seria el " - " (guion)

ejemplo:

explode( "-", $nombre )

ya luego los consultas con el array

un saludo!!
__________________
¡El Respeto al Derecho Ajeno Es la Paz!
  #4 (permalink)  
Antiguo 26/11/2009, 19:11
Avatar de Null_  
Fecha de Ingreso: octubre-2008
Ubicación: Santiago
Mensajes: 530
Antigüedad: 15 años, 6 meses
Puntos: 30
Respuesta: Se me ocurre como pero no se desarrollarlo

Exacto, usa esa función que te dice HalconVigia, que es una de mis favoritas: explode(). Te genera un array con las cadenas que quedan antes y después del caracter que tu elijas. Si por ejemplo explotas el guión bajo de "Me_gusta_aquello" obtienes un con Me, gusta y aquello. En tu caso sería explotar el guión medio, de lo que tendrás BA y 1.
Ejemplo en practica:

<?php
$maquina="BA-1";
$maquina_array=explode("-",$maquina); // explotamos el guión
$maquina_array[1]++; // sumamos 1 al número de la maquina
$maquina_siguiente=$maquina_array[0]."-".$maquina_array[1]; // juntamos de nuevo
echo $maquina_siguiente; // Y listo, BA-2 =)
?>
__________________
Diego Escares
• Twitter: @diegoescares
• Web: diegoescares.com
  #5 (permalink)  
Antiguo 26/11/2009, 20:54
 
Fecha de Ingreso: septiembre-2006
Mensajes: 97
Antigüedad: 17 años, 7 meses
Puntos: 1
Respuesta: Se me ocurre como pero no se desarrollarlo

Muchas gracias por las respuestas.... Ahora es bastante tarde aki, asi que mañana voy a probar lo que me acaban de recomendar y les cuento.
Gracias por responder :D
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 12:53.