Allora era il simbolo di $ che mancava davanti a query_mostra..solo che ora lo stesso errore viene dato sull'ultima linea del pagina, è una impresa ora capire cosa c'è che non va? Posto il codice della pagina se qualcuno di buona volontà può aiutarmi a controllarlo:
codice:
<?php
include_once("../include/config.php");
include ( "../jpgraph/src/jpgraph.php");
//include ("../jpgraph/src/jpgraph_line.php");
//include ("../jpgraph/src/jpgraph_scatter.php");
include ("../jpgraph_line.php");
$contatore_vettore_dati=0;
$contatore_vettore_dati1=0;
$contatore=0;
$cont_alt=0;
$year="2005";
$month="04";
$day="30";
$orario="00:00:00";
$variabile="speed";
//
$query_mostra="SELECT $variabile FROM dati_sodar_windprofile WHERE data='$year-$month-$day' AND ora='$orario' order by data, ora;";
$result_mostra=mysql_query($query_mostra) or die ("impossibile eseguire: $query_mostra");
$contatore_ora_precedente=0;
$ora_precedente="";
while($row_mostra=mysql_fetch_array($result_mostra)){
foreach($row_mostra as $attributo) {
echo "componente dati: $attributo
";
}
$ora_precedente=substr($row_mostra[ora],0,2);
$vettore_label[$contatore]="";
$dim_vettore=$contatore-1;
}
$query_parametri="SELECT * FROM tabelle_campi WHERE nome_campo='$variabile' AND id_tabella = '4' ;";
$result_parametri=mysql_query($query_parametri) or die ("impossibile eseguire: $query_parametri");
$row_parametri=mysql_fetch_array($result_parametri);
// Query per ricavare l'altitude
$query_alt="SELECT altitude FROM dati_sodar_windprofile WHERE data='$year-$month-$day' AND ora='$orario' order by data, ora;";
$result_alt=mysql_query($query_alt) or die ("impossibile eseguire: $query_mostra");
$row_alt=mysql_fetch_array($result_alt)
while($row_mostra_alt=mysql_fetch_array($result_alt)){
foreach($row_mostra_alt as $attributo1) {
echo "componente altitudine: $attributo1
";
}
// Genero il grafico X,Y
$titolo=$row_parametri[descrizione_IT];
if ($Lingua == "EN") $titolo=$row_parametri[descrizione_EN];
$label_asse_y= $titolo." (".$row_parametri[unita_misura].")";
$label_asse_y= togliaccenti($label_asse_y);
$titolo= togliaccenti($titolo);
// Create the graph. These two calls are always required
$graph = new Graph(300, 600,"auto");
$graph->title->Set ($titolo);
// Se esistono dei dati validi (non tutti NULL) allora non setta un valore di max nell'asse verticale
// altrimenti imposta 10 come valore di max
if (($contatore_vettore_dati1 > 0) OR ($contatore_vettore_dati > 0)){
// LINEARE $graph->SetScale( "textlin");
$graph->SetScale("linlin"); // A PUNTI
} else {
// LINEARE $graph->SetScale( "textlin", 0, 10);
$graph->SetScale("linlin",0,10); // A PUNTI
}
// setta i margini
$graph->SetMargin(60,40,40,40);
// Create the linear plot
// LINEARE $lineplot =new LinePlot($vettore_dati);
// LINEARE $lineplot ->SetColor("blue");
$graph->xaxis-> SetTickLabels($vettore_label);
$graph->xaxis-> title->Set("Altitudine" );
// distanzia la label verticale dall'asse
$graph->yaxis-> SetTitlemargin(40);
$graph->yaxis-> title->Set($label_asse_y);
// Add the plot to the graph
// LINEARE $graph->Add( $lineplot);
$sp1=new LinePlot($row_alt,$vettore_dati);
//$sp1 = new ScatterPlot($vettore_dati); // A PUNTI
$graph->Add($sp1); // A PUNTI
// Display the graph
$graph->Stroke();
?>
Una domanda..dato che nel grafico devo rappresentare i dati provenienti dal DB, se chiamo, come faccio, in un certo punto il vettore $row alt con
codice:
$row_alt=mysql_fetch_array($result_alt)
e poi lo richiamo quando devo fare il plot, il vettore row_alt è ancora in memoria come un array e quindi è possibili usarlo in qualsiasi punto del programma successivo al punto dove lo si nomina la prima volta con il fetch array??
grazie.
ciao.