Ver Mensaje Individual
  #4  
Antiguo 02-12-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Yo sigo aquí un poco a mi bola, lo reconozco. En esta ocasión me gustaría comentaros cómo pienso implementar el método "EnlacesUsuario", mejor dicho, cómo he pensado implementarlo, para que me podáis dar vuestra opinión si lo creéis conveniente. ¿Eh? Pues eso.

El método "EnlacesUsuario" trataría de retornar los enlaces de un determinado usuario de Loturak, de modo que pudieran listarse en una aplicación, por ejemplo. Mi idea es no retornar todos los enlaces al mismo tiempo, puesto que no existe límites para los enlaces que un usuario puede albergar, la consulta en cuestión podría costar más de la cuenta.

Así que me planteo utilizar la cláusula "LIMIT" de MySQL, de modo que el método "EnlacesUsuario" retorne los datos de los enlaces de un usuario poco a poco, de veinte en veinte, he pensado, de diez en diez, acaso, pero, claro, me atrapan algunas dudas, porque al cabo "más peticiones" pueden acaso ser tan costosas como una consulta "grande".

Esto último creo que no es del todo así. Me explico. No se trata de que en el primer caso pudiera darse una consulta "grande", es que podría darse una consulta "verdaderamente grande". Es decir, una consulta que retornara los miles de enlaces... pasaría de grande para considerarse algo desorbitado, desaconsejable al cien por cien.

Entonces, teniendo claro que el método "EnlacesUsuario" debe retornar los enlaces "poco a poco" hay que meter mano a este asunto y se me ocurre lo siguiente. El método recibiría un Array de datos como único parámetro, como en los métodos "InsertarEnlace" y "ActualizarEnlace". Los elementos de dicho Array numérico, por cierto, podrían quedar tal que así, por orden:

- string Login del usuario
- string Contraseña del usuario
- integer Límite inferior para la consulta de enlaces

Una vez el usuario sea autentificado contaremos con su correspondiente ID de usuario. Es decir, la idea sería terminar conformando una consulta SQL como la siguiente (utilizo el * por abreviar):

Código SQL [-]
SELECT * FROM enlaces 
WHERE (enlace_id_usuario = $idUsuario)
ORDER BY enlace_fecha DESC, enlace_titulo ASC
LIMIT $limiteInferior,20;

O sea, que el método "EnlacesUsuario" retornaría 20 enlaces del usuario a partir del límite inferior que se indique. La primera llamada al método, los primeros 20 enlaces, se conseguirían indicando como límite inferior "0", los 20 siguientes se obtendrían indicando como límite inferior "20", los siguientes 20 enlaces indicando como límite inferior "40" y así sucesivamente.

Ahora bien, ¿cómo véis vosotros todo esto? ¿Os parece la mejor forma de implementar el método "EnlacesUsuario"? ¿Tal vez tengáis alguna idea de cómo podría mejorarse el asunto? Cualquier cosa que se os ocurra será bienvenida y se agradece desde ya mismo. O sea. Sabed que cualquier otro comentario en relación a lo que tratamos en este Hilo sería igualmente bienvenido: añadir un método que consideréis puede dar juego, sugerencias, comentarios, críticas, lo que queráis.

En fin. Eso es todo por el momento. Gracias a todos otra vez. Que paséis un buen fin de semana.

PD. Seoane, si has llegado hasta aquí y esto lees, coméntame qué te parece del ejemplo que he añadido basándome (je, je, je) en el código que más arriba publicaste. Ya sabes que si quieres que añada cualquier referencia, que quite algo, que añada cualquier cosa, no tienes más que decirlo.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 02-12-2006 a las 21:55:43.
Responder Con Cita