Ver Mensaje Individual
  #8 (permalink)  
Antiguo 27/01/2011, 11:56
MyPHP
 
Fecha de Ingreso: enero-2011
Mensajes: 14
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Subquery in LIMIT

De la primera consulta

Código MySQL:
Ver original
  1. WHERE `id` < '$variablephp'
aqui le pongo el campo que se elimino, entonces solo me va a devolver los id menores a ese campo,

Cuento los campos, si son 5 y los divido entre 10, donde 10 es el numero de elementos que se mustran por pagina, me va a devolver siempre un entero, porque DIV siempre devuelve enteros, entonces es 0, debe paginarme desde 0

si es 17 el eliminado entre 10, me da 1, entonces me pagina desde 1 y asi sucesivamente
Código MySQL:
Ver original
  1. (count( * ) DIV 10)*10

Olvide que todavia el resultado, lo debo multiplicar por 10, para que @t valga 0,10,20,30,etc si uso esto y a paginar en bloques de 10, empezando de 0 al fin el id va a decirle desde que id debe empezar:
Código PHP:
Ver original
  1. SELECT * FROM inventario WHERE `id`>@t LIMIT 0,10
o en el otro caso, la $variablephp va a tener el valor de @a
Código MySQL:
Ver original
  1. SELECT * FROM inventario LIMIT $variablephp, 10

Ahora con respecto a la eliminacion del campo id, se usa innoDB pero no usamos Foreign Keys, seria muy util "reorganizar el indice" o sea que el siguiente campo, ocupara el lugar del que se elimino, ya he leido que anteriormente habias dicho que esto no es conveniente, por las razones que explicaste, aunque si te fijas, usando esto, no hay problema, muestra 10 campos, sin importar si faltan 5 campos del 0 al 10 por ejemplo, aunque seria interezante por razones ilustrativas/didacticas saber como se reorganiza un indice

Código PHP:
Ver original
  1. SELECT * FROM inventario WHERE `id`>@t LIMIT 0,10

Saludos