• Miércoles 8 de Mayo de 2024, 19:05

Autor Tema:  Consulta Lenta Y No Funciona  (Leído 1034 veces)

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Consulta Lenta Y No Funciona
« en: Miércoles 5 de Julio de 2006, 17:43 »
0
Hola chicos de SoloCodigo, tengo un pequeño problema con este Script:
<!--html--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>HTML </td></tr><tr><td id='CODE'><!--html1-->$fechadesde = $_GET['ano1']."-".$_GET['mes1']."-".$_GET['dia1'];

$fechahasta = $_GET['ano2']."-".$_GET['mes2']."-".$_GET['dia2'];

echo "desde ".$fechadesde."<br>";
echo "hasta ".$fechahasta."<br><br>";
//if ($_GET["do"] == 'fp') {

$result = mysql_query("SELECT fac.numfact, fac.fechar, cli.nombre, cli.telefono, fac.fechae, tax.nombre_pro FROM facturas AS fac, alquileres AS alq, tax_productos AS tax, clientes AS cli WHERE fac.estado = 'pendiente' AND fac.cliente = cli.cedula AND fac.fechae < '$fechahasta' AND fac.fechae > '$fechadesde' ORDER BY fac.fechae LIMIT 0,15", $link);


if ($row = mysql_fetch_array($result)){

   echo "<span class='punteado'>Alquileres Proxima Semana";

   echo "<table border ='1'> \n";

   echo "<tr><td><b>Factura</b></td><td><b>Fecha Devolución</b></td><td><b>Pantalon</b></td><td><b>Camisa</b></td><td><b>Corbata</b></td><td><b>Nombre</b></td><td><b>Teléfono</b></td><td><b>Fecha de Entrega</b></td></tr></b></span> \n";
   do {

      echo "<tr><td><div align='center'>".$row["numfact"]."</div></td><td><div align='right'>".$row["fechar"]."</div></td><td></td><td></td><td></td><td>".$row["nombre"]."</td><td><div align='right'>".$row["telefono"]."</div></td><td><div align='right'>".$row["fechae"]."</div></td></tr>";

   } while ($row = mysql_fetch_array($result));

   echo "</table> \n";

} else {

echo "¡ No se ha encontrado ningún registro !";

};



}else{

echo "peticion vacia";

};<!--html2--></td></tr></table><div class='postcolor'><!--html3-->
Lo que pasa es que se demora mucho en ejecutarse la consulta y al final me saca este error:
Fatal error: Maximum execution time of 30 seconds exceeded in c:\appserv\www\invtaxiros\reportes.php on line 119
Me pueden ayudar por fis, no encuentro cual sea el error, los datos los ahi, osea, existen pero no me quiere ejecutar nada la consulta, por que sera?????
El pasado son solo recuerdos, el futuro son solo sueños

x.cyclop

  • Miembro de PLATA
  • *****
  • Mensajes: 1039
  • Nacionalidad: mx
    • Ver Perfil
Re: Consulta Lenta Y No Funciona
« Respuesta #1 en: Lunes 14 de Agosto de 2006, 21:42 »
0
Intenta aumentando los segundos de max_execution_time y/o de max_input_time en el php.ini. :P

Uh, no vi la fecha. Perdón. :ph34r:

- Great works aren't produced on the first try. [Ernest Hemingway]
- Be ambitious, yet realistic in your dreams. Do something that makes a positive impact. Don’t let the nay-sayers get you down. [Bjarne Stroustrup]

Altareum

  • Miembro MUY activo
  • ***
  • Mensajes: 327
    • Ver Perfil
    • http://www.avian.com.ar
Re: Consulta Lenta Y No Funciona
« Respuesta #2 en: Lunes 14 de Agosto de 2006, 22:17 »
0
Che Radical, provaste usando un explain ???? Cuando las tablas tienen gran cantidad de datos y unis varias tablas, mysql suele tener problemas con los índices, con lo cual las consultas tardan mucho tiempo.

Prova haciendo:
Código: Text
  1. EXPLAIN SELECT fac.numfact, fac.fechar, cli.nombre, cli.telefono, fac.fechae, tax.nombre_pro FROM facturas AS fac, alquileres AS alq, tax_productos AS tax, clientes AS cli WHERE fac.estado = 'pendiente' AND fac.cliente = cli.cedula AND fac.fechae &#60; '&#036;fechahasta' AND fac.fechae &#62; '&#036;fechadesde' ORDER BY fac.fechae LIMIT 0,15
  2.  

Y fijate lo que te tira, ahí vas a tener una idea de como mysql está interpretando la consulta, y así poder corregirla...


Altareum.
El postre!, el postre!, el postre!, el postre!, el postre!, el postre!.....
 | Klinka | Kiree | Avian |