Foros del Web » Programando para Internet » PHP »

AUYUDA !! Problemas con el Id de los registros de mi BD

Estas en el tema de AUYUDA !! Problemas con el Id de los registros de mi BD en el foro de PHP en Foros del Web. TEngo varios registros en mi BD con su UID que se autoincrementa La preg es : ¿ Como le hago para poder leer el UID ...
  #1 (permalink)  
Antiguo 07/04/2003, 07:49
Avatar de elkkbron  
Fecha de Ingreso: enero-2002
Ubicación: Puebla
Mensajes: 195
Antigüedad: 22 años, 2 meses
Puntos: 0
AUYUDA !! Problemas con el Id de los registros de mi BD

TEngo varios registros en mi BD con su UID que se autoincrementa

La preg es :
¿ Como le hago para poder leer el UID del último registro de la base ?
LA posible respuesta seria :
Contando el numero de registros de la BD
PEro ...

si borro X registro de la base de datos los Id's "se desacomodarían" me refiero a que si por ejemplo :

tengo 10 registros, y tienen su ID del 1 al 10
si borro un registro tengo 9 ahora

y si creo otro nuevo registro, su Identificador sería 11
y solamente habría 10 registros

Como le puedo hacer kompas ??
  #2 (permalink)  
Antiguo 07/04/2003, 07:53
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 3 meses
Puntos: 17
SELECT MAX(id) FROM tabla
__________________
M a l d i t o F r i k i
  #3 (permalink)  
Antiguo 07/04/2003, 08:56
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
El hecho de que se te "descordiene" ese campo AUTOINCREMENTAL .. es justamente para manterner una de las reglas mas importante del modelo de tatos en Base de datos (valga la rebundancia) .. Le denomian a ese tema "integridad referencial" (tiene que ver con claves foraneas y normalización)

Si usas una simple tabla en tu BD aislada de otras tablas q pudieras tener podrías incluso omitir el uso de la propiedad AUTOINCREMENT en tu definición del campo ID .. En ese caso tu te controlarías si incrementas o decrementas una unidad en ese campo ...

Ahora, Si usas varias tablas relacionadas entre sí por ese ID .. o simplemente imagina que estas haciendo una acción de borrado en la que "reorganizas esos ID" y por otro lado alguien está haciendo una consulta por el ID=X .. NO va a mantener la relación y no le va a mostrar ese ID que tal vez seleccionó un instante antes de un listado de registros de esa tabla ..

Si quieres mostar un listado (un SELECT ...) de esa tabla y que te quede algo tipo:

nº dato
1 Blabla
2 Blabla
3 Blabla
4 Blabla

Deja el ID como lo tienes .. Autoincremental .. Ese ID lo usaras para tus referencias a la hora de seleccinar un registro en concreto u operaciones de Update/delete de ese registro ..

Para mostrar el ejemplo .. tan solo usa una variable contador a la hora de mostar todos los registros de tu consulta .. alto tipo:

Código PHP:
$numero=1// iniciar el contador 
where ($registro=mysql_fetch_array($resultado_consulta)){
  echo 
$numero." --> ".$registro['dato']."<br>";
$numero++;// este es la variable contador (acomulativo ..)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 06:53.