Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] Saber id utilizados

Estas en el tema de Saber id utilizados en el foro de Mysql en Foros del Web. Hola: Mi problema es que quiero sabes cuales son los id(campo autoincrementable) que se estan utilizando. ya que hay campos que son borrados por el ...
  #1 (permalink)  
Antiguo 05/11/2010, 12:20
 
Fecha de Ingreso: julio-2008
Mensajes: 366
Antigüedad: 15 años, 8 meses
Puntos: 7
Saber id utilizados

Hola:

Mi problema es que quiero sabes cuales son los id(campo autoincrementable) que se estan utilizando.

ya que hay campos que son borrados por el administrador y como yo imprimo con un ramdon desde php, cuando en el ramdon cae un id que esta borrado pues es obvio que no imprime nada y la tabla se descuadra.
  #2 (permalink)  
Antiguo 05/11/2010, 12:44
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Saber id utilizados

Buenas tardes moscrates, me imagino que con PHP generas un ID aleatorio y después haces un select con ese ID:

Código MySQL:
Ver original
  1. Select * from TuTabla where ID = Valor_aleatorio_obtenido_con_PHP

Pero como bien dices, aquí el problema es que PHP no tiene control sobre qué valores aparecen en la tabla.

Lo que se me ocurra es que le dejes la parte de la generación de aleatorios también a MySQL, es decir, puedes hacer algo como esto

Select * from TuTabla Order by RAND() Limit 1

Esto te regresará un registro de tu tabla al azar, haz la prueba a ver si es lo que necesitas. Lo otro que se me ocurre es que pongas un ciclo donde generas tu aleatorio con PHP hasta que la consulta te regrese algún registro, pero esto me parece muy óptimo.

Saludos
Leo.
  #3 (permalink)  
Antiguo 05/11/2010, 12:55
 
Fecha de Ingreso: julio-2008
Mensajes: 366
Antigüedad: 15 años, 8 meses
Puntos: 7
Respuesta: Saber id utilizados

Exelente... como ultima pregunta y para no leer el manual por que la verdad estoy muy atrasado y tengo que entregar hoy (a las 2:00 pm hora mexico y ahora son 12:55).

el rand() ----> ¿hace un ramdon sobre los registros que existen en la tabla?
¿El limit es para?
  #4 (permalink)  
Antiguo 05/11/2010, 13:41
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Saber id utilizados

Hola moscrates, igual y te conviene mejor darle un vistazo a la documentación de MySQL, pero va... la función rand() genera un número aleatorio entre 0 y 1.0

Código MySQL:
Ver original
  1. MySql> SELECT RAND();
  2.         -> 0.9233482386203

Al colocarlo en el ORDER BY lo que hace es ordenar los registro de manera aleatoria. Con el Limit 1 estás especificando que sólo te muestre el primer registro.

Saludos
Leo

Etiquetas: Ninguno
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 14:41.