MySQL - Problemas con el LIMIT

 
Vista:

Problemas con el LIMIT

Publicado por Javier Adrian (1 intervención) el 16/01/2008 23:43:55
Hola a todos;

Resulta que tengo el siguiente problema con una consulta sql al servidor mysql

Esta es la consulta sql
$sql_inventario="SELECT cod_pdcto,nombre_com, can, precio_compra, precio_max FROM inventario WHERE (cod_provee1 =$cod_prov OR cod_provee2 =$cod_prov OR cod_provee3 =$cod_prov ) ORDER BY cod_pdcto ASC LIMIT $item[0],$item[1]";

$item[0],$item[1] Se les asigna ciertos valores para desplegar la informacion, el problema es que el servidor mysql hace caso omiso de esto

Ejemplo $item[0]=5 ,$item[1]=10;

El servidor tendria que devolverme 5 registros, y no lo hace, devuelve 10.

Espero alguien me ayude.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas con el LIMIT

Publicado por MMM (4 intervenciones) el 19/01/2008 19:23:30
Pues lo que te devuelve esa consulta es lo que le has pedido.

Con el primer argumento (en tu caso el 5) le indicas a MySQL que del conjunto de filas que has obtenido como respuesta, te devuelva las filas a partir de la que tiene índice 5 (que sería la sexta fila, la primera tiene índice 0). Luego, con el segundo argumento le indicas que a partir de la fila 5 (en tu caso) empiece a contar N filas (en tu caso 10).

En todo caso te remito a la fuente original:
http://dev.mysql.com/doc/refman/5.0/en/select.html

Ejemplo:
SELECT * FROM tbl LIMIT 5,10; # Retrieve rows 6-15

Lo que tu quieres es algo como:
SELECT * FROM tbl LIMIT 0,5;

Nos vemos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con el LIMIT

Publicado por Javier (3 intervenciones) el 21/01/2008 17:16:04
Mi querido amigo yo tuve el mismo problema que tu, la solucion es lo mas de sencilla, como se que programas en php, solamente es que incluyas en el bucle while para extraer los resultados las siguientes condiciones

while($datos_inven=mysql_fetch_array($envia_consulta)){

if($d < $item[0])
continue;

if($d > $item[1])
break;

//extraccion de datos

}

Estas condiciones hacen que el bucle solo despliegue la informacion requerrida por el usuario, ejemplo si $item[0]=10 $item[1]=15, el bucle se ejecuta desde el 10 al 15, mostrandote los resultados

Espero te halla servido.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con el LIMIT

Publicado por Adrian (3 intervenciones) el 21/01/2008 17:17:51
Javier muchas gracias por tu ayuda me funciono de maravilla, tambien le agradesco a la otra persona que contesto en este foro.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar