Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/12/2011, 06:33
josico
 
Fecha de Ingreso: julio-2009
Mensajes: 172
Antigüedad: 14 años, 10 meses
Puntos: 3
Limitar números de bucles de un While

Uso en mysql un campo multivaluado donde inserto varias ID referentes a distintas categorías a las que pertenece un artículo. Me respondieron en una consulta que eso esta prohibido por MySQL y que tengo que crear una tabla adicional. No tengo ganas de crear más tablas y le he dado la vuelta al problema, escribiendo un script en php que extrae la ID de entre todas las que pueda contener el campo y problema resuelto.

En consecuencia, me crea otro problema a la hora de usar paginaciones y lo que necesito saber es si puedo limitar la cantidad o mejor dicho, el numero de bucles.

Supongamos que en la categoría con ID 7 muestra 38 artículos. Yo quiero poder limitar el bucle de manera que muestre 10 artículos sin limitar el código mysql. Y que se pueda escoger el inicio, por ejemplo a partir del bucle 11 al 20.

Se que me vais a contestar que limite mysql. Pero en este caso, limitar mysql no es compatible con el script php que he creado. Y solo pensar en tener que crear más tablas para lo que quiero me estresa :)

Aquí un ejemplo para que tengáis una idea.

Código PHP:
Ver original
  1. $sql='select * from articulo';
  2. $query=mysql_query($sql);
  3. while($result=mysql_fetch_array($query)) /// Este bucle mostrara todos los artículos
  4. {
  5.     $listar_tag         =   strrpos($result['tag_id'], $_GET['tag']); /// Busca la ID del tag en el campo tag_id artículo por artículo
  6.     $listar_categoria   =   strrpos($result['cat_id'], $_GET['cat']); /// Busca la ID de la categoría en el campo cat_id artículo por artículo             
  7.  
  8.     //// Ahora, condiciones IF para que muestre segun la categoría o el tag seleccionado via GET
  9.    
  10.     if($result_tag == $_GET['tag'] && $result_categoria == $_GET['cat'])
  11.     {
  12.    
  13.         Este Scritp mostrara los resultados que coincidan con el tag y la categoría seleccionada, desechando los demas.
  14.    
  15.     }
  16.  
  17.  
  18. }