
25/04/2006, 15:28
|
O_O | | Fecha de Ingreso: enero-2002 Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 23 años, 2 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. |