Ver Mensaje Individual
  #4 (permalink)  
Antiguo 25/04/2006, 15:28
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si entendí bien .. lo que necesitas es calcular un nuevo "N_registro" que sea correlativo en función del N° de cedula ..

Si es así .. "supongo" qu eese "N_registro" va en función del ID? .. o de que valor?, esto es importante que describas ese "algorítmo" ..

"Suponiendo" que fuese en relación al "ID" .. podrías obtener ese ID de la primera cedula mayor o igual al que deseas "generar ese N_registro" (ojo que no hablo de "insertar" por médio físicamente ese registro .. sólo de obtener ese N_registro).

SELECT ID FROM tabla WHERE cedula >= '$cedula' LIMIT 1

Obtenido ese "ID" .. le podrías sumar 1 (una unidad o aplicar el algorímo que corresponda en función de ese dato) y verificar que no exista ese N_Registro generado. Si no existe .. generas un nuevo INSERT (nuevo registro) a tu BBDD con ese N_Registro generado y el ID que corresponda (autonumérico supongo ..).

Cuando generes tus reportes/listados .. ya ordenaras por tu "cedula" . .o por el N_registro .. (el "ID" ya no te daría la misma correlación que ese "N_registro <-> cedula" si es que se basa ese n° en ese dato??=?=)

En fin, como veras .. falta que -definas- como se ha de generear ese "N_registro" . .en función de que parámetros ..

Consejo para futuro: si te basas en ese "ID" para tus n° de "registro" simplemente -sobra- todo ese ´cálculo .. ya tienes un numero único, que no se repite y que NO se ocupa por otro registro si este desaparece (lo eliminas) para mantener entre otras cosas una de las primeras reglas de la "integridad referencial" de datos.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.