Foros del Web » Programando para Internet » PHP »

Como generar un codigo correlativo

Estas en el tema de Como generar un codigo correlativo en el foro de PHP en Foros del Web. Saludos Bueno quiero dar a conocer mi dificultad, tengo una base de datos donde llevo el registro de usuarios, estos estan guardados en la tabla ...
  #1 (permalink)  
Antiguo 28/05/2007, 10:33
Avatar de El Cipote  
Fecha de Ingreso: febrero-2006
Mensajes: 213
Antigüedad: 18 años, 2 meses
Puntos: 2
Exclamación Como generar un codigo correlativo

Saludos
Bueno quiero dar a conocer mi dificultad, tengo una base de datos donde llevo el registro de usuarios, estos estan guardados en la tabla que contiene los campos de cod_user, nomb_user, ape_user.... pero resulta que ahora lo que quiero es generar un codigo correlativo de usuario. Por ejemplo el primero que tome la primera inicial del nombre y despues la inicial del primer apellido y primera del segundo apellido, pero ademas le asigne un correlativo (p.e JEM01)
como hacerlo? ya que se puede dar el caso que exista otro usuario con las mismas iniciales, pero el correlativo me indicara la distingcion...
Antemano gracias por la ayuda
  #2 (permalink)  
Antiguo 28/05/2007, 10:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Como generar un codigo correlativo

La primera parte la puedes hacer con substr, o con los operadores de acceso a strings ({}).

La segunda parte es algo mas complicada pero puedes hacerlo con una consulta:
Código PHP:
$sql "SELECT `cod_user` FROM `users` WHERE `cod_user` LIKE '$inciales%' ORDER BY `cod_user` ASC LIMIT 1";

$rst msqyl_query$sql ) or die( mysql_error() );
$row msyql_fetch_array$rst );

$numero = (int) substr$row[0], );
$numero++;

$newCode $iniciales $numero
  #3 (permalink)  
Antiguo 28/05/2007, 10:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Como generar un codigo correlativo

Faltaria que comprobaras si no hay registros, entonces le asignas el primero numero (el 001).
  #4 (permalink)  
Antiguo 28/05/2007, 11:27
Avatar de El Cipote  
Fecha de Ingreso: febrero-2006
Mensajes: 213
Antigüedad: 18 años, 2 meses
Puntos: 2
Re: Como generar un codigo correlativo

OK
Pues he tomado tu comentario y me parece bastante bueno, unicamente que tengo dudas al respecto de como tomar el valor de la varieble "$iniciales" ya que lo he ejcutado y unicamente me muestra el ultimo digito de la cadena del cod_user, gracias por ayudarme....
  #5 (permalink)  
Antiguo 28/05/2007, 11:30
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Como generar un codigo correlativo

Como te digo ese de $iniciales lo haces con los caracteres de acceso a strings algo asi:
Código PHP:
$nombre "Juan";
$apaterno "Hernandez";
$amaterno "Gomez";

$iniciales $nombre{0} . $apaterno{0} . $amaterno{0}; // JHG 
  #6 (permalink)  
Antiguo 29/05/2007, 12:12
Avatar de El Cipote  
Fecha de Ingreso: febrero-2006
Mensajes: 213
Antigüedad: 18 años, 2 meses
Puntos: 2
Re: Como generar un codigo correlativo

OK, agradesco tu ayuda
He realizado el proceso como lo indicas, pero resulta que no aumenta mas de una vez, pues por ejemplo el codigo JHG1 ya ha sido ingresado y al ingresar otro usuario con las mismas iniciales le coloca JHG2 hasta alli perfecto. Cuando ingreso otro usuario con las mismas iniciales no hay cambio de correlativo a que se debera?
  #7 (permalink)  
Antiguo 07/06/2007, 18:52
 
Fecha de Ingreso: septiembre-2005
Mensajes: 9
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: Como generar un codigo correlativo

Hola espero me puedan ayudar.. Estoy haciendo un sistema de control escolar donde debo generar la matricula del alumno y asignársela como id. Esta matricula se forma del numero de plantel,el año que se dio de alta que extraigo el 07 en este caso, el semestre al que ingresa, 4 numeros cosecutivos que es un campo auto incrementable de 4 digitos y una constante EM (educacion media) el codigo que ocupo es el sig:

//Boton para generar matricula
$gen=$_POST["geMatBtn"];
if ($gen =="Generar Matricula")
{
//extraer el numero de plantel (num_bic)
$bic = "$nbic";
$bic2 = substr($bic,2,2);
echo "<p>$bic2</p>";

//extraer el año de alta
$palabra = date("Y/m/d");
$palabra2 = substr($palabra,2,2);
echo "<p>$palabra2</p>";

//extrae el sem
$sem1 = "$sem";
$sem2 = substr($sem1,0);
echo "<p>$sem2</p>";

//extrae los numeros consecutivos
$conse = "0000";
$conse2 = substr($conse,0);
echo "<p>$conse2</p>";

//Muestra EM (Educación Media)
$em = "EM";
$em2 = substr($em,0);
echo "<p>$em2</p>";
$mat="$bic2$palabra2$sem$conse2$em2"


despues la imprimo toda junta
<input name="matTxt" type="text" id="matTxt" value="<?php print $mat;?>" size="30">

no creo que lo este haciendo bien ya que primero pido datos se da clic en generar matricula y no me muestra nada pero creo que debo meterlo en un while no se si prueban el puro codigo de abstraer caracteres lo hace pero no se como asignarselo como clave espero y me puedan ayudar porfavo!!!!!!!!!!!!!!!!!!
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 01:52.