Foros del Web » Programando para Internet » PHP »

Manejo de Cadenas

Estas en el tema de Manejo de Cadenas en el foro de PHP en Foros del Web. Hola sres programadores... necesito de sus conocimientos. Toy haciendo un sistema, y ps necesito una funcion que me genere un codigo para el registrado. El ...
  #1 (permalink)  
Antiguo 30/06/2011, 21:09
 
Fecha de Ingreso: enero-2011
Ubicación: Nuñoa Perú
Mensajes: 43
Antigüedad: 13 años, 3 meses
Puntos: 1
Pregunta Manejo de Cadenas

Hola sres programadores... necesito de sus conocimientos.
Toy haciendo un sistema, y ps necesito una funcion que me genere un codigo para el registrado. El codigo tiene el siguiente formato:
varchar(6) "xxxxxx" de seis caracteres, las 2 primeras cifras son de acuerdo al año, un ejm seria "11xxxx" de 2011 ó "12xxxx" de 2012; y las 4 ultiams cifras van en forma ascendente , empezando del "0001", "0002"...

La idea es que, se obtenga de la base de datos el ultimo codigo regstrado, por decir "110158" y que de aceurdo a eso obtenga el siguente codigo.

Este es un pequño avance q tengo...
Código PHP:
<php?
function 
generarCodigo(){
    
$fecha getdate();
    
$year $fecha[year];
    
$anio substr($year,2,2);    //agarra las 2 ultimas cifras del año
              
$item "0002";
//hasta aqui todo bien...
    
$codigo $anio.$item;//concatenamos año e item
    
return $codigo;
}
echo 
generarCodigo();
?> 
este codigo obtiene las 2 ultiams cifras del año y lo concatena con $item...

Ayuda... porfas!
  #2 (permalink)  
Antiguo 30/06/2011, 22:43
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Manejo de Cadenas

Toy (story?) tratando d'ntender su mensaje, pero ps hoyga uste, esto de la cantinfleada leida ps como que no se me da, toavia si la scuchara ps como que tal vez pero quien sabe.

Me permito invitarte a leer este tema, sigue las instrucciones del recuadro gris (lineas numeradas del 1 al 6) y habra mas posibilidades de ayudarte.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 01/07/2011, 00:24
Avatar de vendoeninternet  
Fecha de Ingreso: marzo-2011
Ubicación: Bilbao
Mensajes: 57
Antigüedad: 13 años, 1 mes
Puntos: 11
Respuesta: Manejo de Cadenas

Cita:
Iniciado por betuasaber10 Ver Mensaje
Hola sres programadores... necesito de sus conocimientos.
Toy haciendo un sistema, y ps necesito una funcion que me genere un codigo para el registrado. El codigo tiene el siguiente formato:
varchar(6) "xxxxxx" de seis caracteres, las 2 primeras cifras son de acuerdo al año, un ejm seria "11xxxx" de 2011 ó "12xxxx" de 2012; y las 4 ultiams cifras van en forma ascendente , empezando del "0001", "0002"...

La idea es que, se obtenga de la base de datos el ultimo codigo regstrado, por decir "110158" y que de aceurdo a eso obtenga el siguente codigo.

Este es un pequño avance q tengo...
Código PHP:
<php?
function 
generarCodigo(){
    
$fecha getdate();
    
$year $fecha[year];
    
$anio substr($year,2,2);    //agarra las 2 ultimas cifras del año
              
$item "0002";
//hasta aqui todo bien...
    
$codigo $anio.$item;//concatenamos año e item
    
return $codigo;
}
echo 
generarCodigo();
?> 
este codigo obtiene las 2 ultiams cifras del año y lo concatena con $item...

Ayuda... porfas!
Más fácil que substr($year,2,2);
Con la función date("y"); sacas el año como quieres, http://es.php.net/manual/es/function.date.php

ejemplo:

Cita:
// Imprimirá 11 de 2011
echo date("y");
lo guardas en una variable y después, no se donde guardas el id ese que se va sumando, si en un txt, en una base de datos... la recoges en una variable y le sumas 1

Aquí $item = "0002"; supongo que en vez de 0022 deberías cargar el id de la base de datos o de un txt que se genere con un número que va aumentando uno cada vez que se genera otro si lo he entendido bien.

En generar código lo concatenas como has hecho = $varible1.$variable2;

Pero ahora no entiendo que quieres hacer, podrías explicarlo mejor? gracias
__________________
Mi web de anuncios para poner anuncios gratis en internet

Última edición por vendoeninternet; 01/07/2011 a las 00:28 Razón: editar el texto para explicarme mejor
  #4 (permalink)  
Antiguo 14/07/2011, 09:28
 
Fecha de Ingreso: enero-2011
Ubicación: Nuñoa Perú
Mensajes: 43
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: Manejo de Cadenas

Gracias man no me sabia eso del date("y")
Ahora dime please: cómo puedo hacer para sumarle 1 a una cadena con ceros a la izquierda y que el resultado sea tmb cadena ejem ("0002"+1="0003").
Espero tu rta.
  #5 (permalink)  
Antiguo 14/07/2011, 22:08
 
Fecha de Ingreso: enero-2011
Ubicación: Nuñoa Perú
Mensajes: 43
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: Manejo de Cadenas

Problema Resuelto; pero aún espero su opinión, para optimizar el siguiente codigo:
Código PHP:
<?php
include("conexion.php");

function 
generaCodigo(){
    
$result mysql_query("SELECT max(idPadron) FROM Padron");
    
$row mysql_fetch_row($result);//row[0] contiene ultimo ID "110001"    
    
$anio substr($row[0],0,2);    //captura 2 primeras cifras del ID "11"(el año)
    
if($anio<date('y'))            //verifica si el año cambio
        
$codigo=date('y')."0000";    //si es asi: codigo comienza en "120000"
    
else
        
$codigo=(int)$row[0]+1;            //convertimos a entero para sumarle 1
    
    
return $codigo;                    //tenemos el siguiente codigo
}
echo 
generaCodigo();
?>
Gracias por su aporte, me fue de gran ayuda!!!

Etiquetas: cadenas, manejo, numero, registro
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 10:55.