Ir al contenido


Foto

paginar miles de registros con php mysql


  • Por favor identifícate para responder
3 respuestas en este tema

#1 tumbero_x

tumbero_x

    Advanced Member

  • Miembros
  • PipPipPip
  • 65 mensajes

Escrito 07 octubre 2011 - 04:06

Hola Amigos!!!
estoy intentando sin exito paginar miles de registros mysql con php ,perdon  mi problema no es la paginacion si no, el tiempo  en que tarda en devolverme los datos , en 2000 registros andaba bien pero ahora le agregue mas de 100.000 registros y se puso realmente muy pesada la consulta cuando pagino.
hay alguna manera de que me traiga los datos sin que tarde tanto (15 segundos)  este es mi codigo


delphi
  1. $sql = mysql_query("select * from compras C LEFT OUTER JOIN proveedores P ON C.compra_cod_prov = P.proveedor_id
  2.                                           LEFT OUTER JOIN monedas M ON C.compra_moneda = M.mone_id", Conectar::con());
  3.     $res = mysql_num_rows($sql);
  4.     $registros = 1;
  5.     $pagina = isset($_GET['num']) ? $_GET['num'] : '';
  6.     if ($pagina) {
  7.         $inicio = (($pagina - 1) * $registros);
  8.     } else {
  9.         $inicio = 0;
  10.     }
  11.     $sql = mysql_query("select * from compras C  LEFT OUTER JOIN proveedores P ON C.compra_cod_prov = P.proveedor_id
  12.                                           LEFT OUTER JOIN monedas M ON C.compra_moneda = M.mone_id
  13.   LIMIT $inicio,$registros ", Conectar::con());
  14.     $paginas = ceil($res / $registros);


  • 0

#2 tumbero_x

tumbero_x

    Advanced Member

  • Miembros
  • PipPipPip
  • 65 mensajes

Escrito 07 octubre 2011 - 07:27

LISTO!!
tenia mal echa la consulta la dejo por si alguien le interesa


delphi
  1. [color=red]$sql = mysql_query("select * from compras C LEFT OUTER JOIN proveedores P ON C.compra_cod_prov = P.proveedor_id
  2.                                           LEFT OUTER JOIN monedas M ON C.compra_moneda = M.mone_id", Conectar::con());[/color]
  3. //LA CONSULTA DE ARRIBA NO VA Y SI ESTA DE ABAJO
  4. [color=green]$sql = mysql_query("select compra_id from compras ", Conectar::con());[/color]
  5.     $res = mysql_num_rows($sql);
  6.     $registros = 1;
  7.     $pagina = isset($_GET['num']) ? $_GET['num'] : '';
  8.     if ($pagina) {
  9.         $inicio = (($pagina - 1) * $registros);
  10.     } else {
  11.         $inicio = 0;
  12.     }
  13.     $sql = mysql_query("select * from compras C  LEFT OUTER JOIN proveedores P ON C.compra_cod_prov = P.proveedor_id
  14.                                           LEFT OUTER JOIN monedas M ON C.compra_moneda = M.mone_id
  15.                                 LIMIT $inicio,$registros ", Conectar::con());
  16.     $paginas = ceil($res / $registros);


Muchas gracias Saludos
  • 0

#3 dlancedu

dlancedu

    Newbie

  • Miembros
  • Pip
  • 6 mensajes

Escrito 07 octubre 2011 - 07:34

-
  • 0

#4 tumbero_x

tumbero_x

    Advanced Member

  • Miembros
  • PipPipPip
  • 65 mensajes

Escrito 07 octubre 2011 - 07:37

Muchas gracias por el dato
Saludos
  • 0




IP.Board spam blocked by CleanTalk.