Ver Mensaje Individual
  #12 (permalink)  
Antiguo 03/06/2008, 04:05
namorha
 
Fecha de Ingreso: febrero-2008
Mensajes: 102
Antigüedad: 16 años, 2 meses
Puntos: 0
Exclamación Respuesta: Optimización Consultas

Te pongo el código entero y así lo puedes ver mejor.

Código PHP:

<html>
<head>
<title> Consulta por Irradiancias Medias </title>
<script language="JavaScript">
function Abrir_ventana (pagina) {
var opciones="toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=yes, width=950, height=420, top=85, left=140";
window.open(pagina,"",opciones);
}
</script>

</head>
<body>
    <?php //Función que realiza la consulta de la base de datos mediante intervalos de medias de temperatura.
      //Incluimos librerias necesarias para el graficado de funciones
      
include "../libchart/classes/libchart.php";
      
//Reutilización de código.
      
echo "<center>";include ("menu.php");  echo "</center>";
      
//Conexiones de BD      
      
$dbcnx = @mysql_connect("localhost""root""123456");
      if (!
$dbcnx) {
        echo( 
"<p>No es posible establecer conexión " .
              
"con el servidor. Inténtelo más tarde.</p>" );
        exit();
      }
    
    
      if (! @
mysql_select_db("meteo") ) {
        echo( 
"<p>No es posible conectar con la base de datos.</p>" );
        exit();
      }
    
    
?>
<center>
    <p><font face=arial size="2" color=#000000>Introduzca panel/es Fotovoltáico/s a consultar:</font></p>

    <form action="<?=$PHP_SELF?>" method="post">
    <input type="checkbox" name="mono" value="1" checked><font face="arial" size="2" color="#000000">Monocristalino</font>
    <input type="checkbox" name="poli" value="2" ><font face="arial" size="2" color="#000000">Policristalino</font>
    <input type="checkbox" name="cis" value="3"><font face="arial" size="2" color="#000000">CIS </font></br></br>
    <p><font face=arial size="2" color=#000000>Introduzca rango de irradiancias a consultar:</font></p>
    <select name="bajo">
    
    <option value="1900">1900 W/m2</option>
    <option value="1800">1800 W/m2</option>
    <option value="1700">1700 W/m2</option>
    <option value="1600">1600 W/m2</option>
    <option value="1500">1500 W/m2</option>
    <option value="1400">1400 W/m2</option>
    <option value="1300">1300 W/m2</option>
    <option value="1200">1200 W/m2</option>
    <option value="1100">1100 W/m2</option>
    <option value="1000">1000 W/m2</option>
    <option value="900">900 W/m2</option>
    <option value="800">800 W/m2</option>
    <option value="700">700 W/m2</option>
    <option value="600">600 W/m2</option>  
    <option value="500">500 W/m2</option>
    <option value="400">400 W/m2</option>
    <option value="300">300 W/m2</option>
    <option value="200">200 W/m2</option>
    <option value="100">100 W/m2</option>

    </select>    
    
    <select name="alto">
    
    <option value="2000">2000 W/m2</option>
    <option value="1900">1900 W/m2</option>
    <option value="1800">1800 W/m2</option>
    <option value="1700">1700 W/m2</option>
    <option value="1600">1600 W/m2</option>
    <option value="1500">1500 W/m2</option>
    <option value="1400">1400 W/m2</option>
    <option value="1300">1300 W/m2</option>
    <option value="1200">1200 W/m2</option>
    <option value="1100">1100 W/m2</option>
    <option value="1000">1000 W/m2</option>
    <option value="900">900 W/m2</option>
    <option value="800">800 W/m2</option>
    <option value="700">700 W/m2</option>
    <option value="600">600 W/m2</option>  
    <option value="500">500 W/m2</option>
    <option value="400">400 W/m2</option>
    <option value="300">300 W/m2</option>
    <option value="200">200 W/m2</option>    
    </select>
    <p><input type="submit" value="Consultar"/></p> </form></center>
    <?php
    

    
//Particionamos las consultas para que no tarden en cargar (Optimización)
    
$tmno 10
    
$principio =(int)($_GET["pag"]*$tmno); 

    
//Realizamos consulta BD
     
$query = ("SELECT fecha,hora,placa,modelo,potencia,media3,media4,tabla FROM medias WHERE media3 <'$alto' AND media3 >'$bajo' AND numplaca IN ('$mono', '$poli', '$cis') ORDER BY hora LIMIT '$princpio','$tmno'");
     
$result = @mysql_query($query);
      if (!
$result) {
        echo(
"<p>1-Error performing query $query, error: " mysql_error() . "</p>");
        exit();
      }
      echo 
"<center><table border=1 bordercolor=#E7E7E7 >\n<br>";    
                echo (
"<tr bgcolor=#72b9de>\n 
                <center>
                <th><font face=arial size=2 color=#000000> &nbsp;Día medición&nbsp; </font></th>\n
                <th><font face=arial size=2 color=#000000> &nbsp;Hora medición&nbsp; </font></th>\n
                <th><font face=arial size=2 color=#000000>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Módulo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></th>\n
                <th><font face=arial size=2 color=#000000> &nbsp;Número Serie&nbsp; </font></th>\n
                <th><font face=arial size=2 color=#000000> &nbsp;Potencia Máxima&nbsp; </font></th>\n
                <th><font face=arial size=2 color=#000000> &nbsp;Irradiancia media&nbsp; </font></th>\n
                <th><font face=arial size=2 color=#000000> &nbsp;Tempertura media&nbsp; </font></th>\n
                <th><font face=arial size=2 color=#000000> &nbsp;Representación&nbsp; </font></th>\n
                </center>
            </tr>\n"
);
        
//Representación de los datos consultados
        
while ( $row mysql_fetch_array($result) ) {
            
//Generamos nombre para la imagen
            
$horagrafica $row["hora"];
            
$tabladia=$row["tabla"];
            
$tabladia_1=$row["fecha"];
            
            echo (
"\t<tr bgcolor=#72b9de>\n
            <td><center><font face=arial size=2 color=#000000>" 
$row["fecha"]."</font></center></td>\n
            <td><center><font face=arial size=2 color=#000000>" 
$row["hora"]."</font></center></td>\n
            <td><center><font face=arial size=2 color=#000000>" 
$row["placa"]."</font></center></td>\n
            <td><center><font face=arial size=2 color=#000000>" 
$row["modelo"]."</font></center></td>\n
            <td><center><font face=arial size=2 color=#000000>" 
$row["potencia"]."</font></center></td>\n
            <td><center><font face=arial size=2 color=#000000>" 
$row["media3"]."</font></center></td>\n
            <td><center><font face=arial size=2 color=#000000>" 
$row["media4"]."</font></center></td>\n
            <td><center><a href=javascript:Abrir_ventana('generated/grafica"
.$tabladia.".png')><font face=arial size=2 color=#000000>Graficar</font></a></center></td>\n
         </tr>\n"
);
        
$result_1 = @mysql_query("SELECT * FROM `$tabladia` WHERE voltaje > 0 AND corriente > 0");
          if (!
$result_1) {
            echo(
"<p>2-Error performing query: " mysql_error() . "</p>");
            exit();
          }
          
$chart = new LineChart();
            
$dataSet = new XYDataSet();
          
$i=0;
          while ( 
$row_1 mysql_fetch_array($result_1) ) {    
              
$dataSet->addPoint(new Point($row_1[4], $row_1[5]));
              if(
$i==0){
              
$array_1[]="(".$row_1[4].",".$row_1[5].")"
              }
               
$array_2[]="(".$row_1[4].",".$row_1[5].")"
              
$i++;
          }
          
//Funciones para sacar extraer valores array
          
$isc array_shift ($array_1);
          
$voc array_pop ($array_2);
          
$chart->setDataSet($dataSet);
          
$chart->setTitle("Gráfica de Potencias (W)  Fecha:".$tabladia_1."  Hora:".$horagrafica." (Eje X: Tensión (V),  Eje Y: Corriente (A)) Isc:".$isc." Voc:".$voc);          
          
$chart->render("generated/grafica".$tabladia.".png");
          
    }     
     echo 
"</table>\n</center>";
    echo 
"<a href=\"".$_SERVER["PHP_SELF"]."?pag=".$principio++."\">Siguiente</a>"
     
//Reutilización de código.
     
include("tail.php");
    
    
?>
</body>
</html>

Gracias y saludos, espero que me des la solución , porque me estoy quedando loco, jajajajaja.