problema di scorrimento

peppepegasus

Utente Attivo
20 Ott 2006
108
0
0
ciao,

in una mia pagina devo prelevare dei dati da un database..il codice che uso è questo:
PHP:
$vettore_quote=array('0q', '10q', '20q', '30q', '40q', '50q', '75q', '100q', '150q', '200q', '250q', '300q', '350q', '400q', '450q', '500q', '550q', '600q');	

$query_mostra="SELECT * FROM mtp5 WHERE data='$year-$month-$day' AND time='$orario' ;"; //data, ora	
$result_mostra=mysql_query($query_mostra) or die ("impossibile eseguire: $query_mostra");
	while($row_mostra=mysql_fetch_array($result_mostra)){	

// **** Blocco if di controllo Null **** 
    	for ($i=0; $i<=17; $i++) {			   									
    		if($row_mostra[$vettore_quote[$i]]<>NULL ){
            	$vettore_temperatura[$contatore]=$row_mostra[$vettore_quote[$i]];
//	        	echo "row mostra: $row_mostra[$variabile] <br />";
//            	echo "vett variab: $vettore_temperatura[$contatore] <br />";
            	$vettore_label[$contatore]=$vettore_temperatura[$contatore];		
//	          	echo "vett label: $vettore_label[$contatore] <br /> ";
            	$contatore_dati++;
//          	echo "contatore dati: $contatore_dati <br/>";
        	} else {
            	$conta_null++;
				continue;
        	}
        	$contatore++;
		}
		$out_temp=$row_mostra[outtemp];
//      echo "contatore: $contatore <br />";
	} // Fine ciclo while
i campi della tabella sono le componenti dell'array $vettore_quote, facendo girare l'indice i faccio variare il nome della componente che va poi a individuare la componente che scorro con il fetch array. purtroppo sembra che questa cosa qui:
$row_mostra[$vettore_quote[$i]]
non vada bene..eppure fissando i parametri che servono alla pagina va bene, mentre prelevandoli dal db sembra che non carica nessun dato..qualcuno sa dirmi se questa sintassi è giusta o può darmi un aiuto?
grazie..
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.035
146
63
PR
www.borgo-italia.it
ciao
a prima vista l'unica cosa che vedo (ma potrebbe essere la mia ignoranza) è nell'if, da che ne so io in php il diverso si indica con != e non <> (ma può darsi che sbagli)
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.035
146
63
PR
www.borgo-italia.it
ciao sono ancora io.
prova a darci un occhio, al massimo non funzia

PHP:
<?php
$vettore_quote=array('0q', '10q', '20q', '30q', '40q', '50q', '75q', '100q', '150q', '200q', '250q', '300q', '350q', '400q', '450q', '500q', '550q', '600q');
$query_mostra="SELECT * FROM mtp5 WHERE data='$year-$month-$day' AND time='$orario' ;"; //data, ora     
//metti un per vedere se la query è quella che vuoi tu
var_dump($query_mostra);
$result_mostra=mysql_query($query_mostra) or die ("impossibile eseguire: $query_mostra"); 
//sarà una mia fissazione, ma preferisco inizializzare le variabili prima di usarle
$contatore=0;
$contatore_dati=0;
$contatore_null=0;
$vettore_temperatura=array();
$vettore_label=array();
while($row_mostra=mysql_fetch_array($result_mostra)){     
// **** Blocco if di controllo Null ****  
        //forse è meglio usare un foreach
	foreach($vettore_quote as $valore){
		if($row_mostra[$valore]!=NULL ){
			$vettore_temperatura[$contatore]=$row_mostra[$valore];
			$vettore_label[$contatore]=$vettore_temperatura[$contatore];
		/* non potrebbe essere più semplicemente
			$vettore_label[]=$row_mostra[$valore];
			o ti servono entrambi di uguale valore?
		*/
			$contatore_dati++;
		}else{
			$conta_null++; 
               continue;//non dovrebbe servire
		}
		$contatore++;//non dovrebbe servire se modo più semplice
	}//fine foreach
	//in $out_temp rimane solo l'ultimo valore di $row_mostra['outtemp']?
        $out_temp=$row_mostra['outtemp'];  
    } // Fine ciclo while  
?>
 

peppepegasus

Utente Attivo
20 Ott 2006
108
0
0
ciao,

grazie borgo italia per le risposte..sto provando con la modifica come mi hai suggerito..
si faccio anche io l'inizializzazione delle variabili, non è una tua fissazione, solo che non è riportata visto che ho estrapolato la parte incriminata di codice.
o ti servono entrambi di uguale valore?
eh si mi servono di ugual valore...dopo che ha prelevato i dati mi deve fare il grafico della temperatura in funzione dell'altezza e a quanto pare i dati di temperatura non vengono presi dal db.
grazie, ora provo a vedere cosa succede.
ciao..

rieccomi..purtroppo non va, se fisso i parametri di data nella pagina funziona bene..se però i parametri li prende da un'altra pagina, passandoglieli, non mi va più. jpgraph (che uso per creare il grafico) mi da errore perchè non ha prelevato i dati dal db.
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.035
146
63
PR
www.borgo-italia.it
ciao
scusa non ho capito bene
i dati che elabori nello script poi devi passarli ad un altra pagina?
se si o li passi per sessione o con i cookie.

comunque se metti un var dump
PHP:
//...................
foreach($vettore_quote as $valore){
        if($row_mostra[$valore]!=NULL ){
            var_dump($row_mostra[$valore]);
            $vettore_temperatura[$contatore]=$row_mostra[$valore];
            $vettore_label[$contatore]=$vettore_temperatura[$contatore]; 
//............
ti da i valori da db?
inoltre il var_dump della query ti dava giusto?
 

peppepegasus

Utente Attivo
20 Ott 2006
108
0
0
ciao,

cerco di spiegarti meglio il problema nel suo aspetto più generale.
nel mio db ho dei dati di temperatura a diverse altezze, tramite dei menù presenti in una pagina seleziono l'anno, il mese e il giorno. questi dati vengono passati a un'altra pagina che deve fare il grafico prelevando i dati dal db. Se imposto i parametri 'passati' nella pagina in modo che questa funzioni autonomamente (per es. se imposto i dati così:
$year="2004";
$month="04";
$day="25";
$orario='10:10:00';)
la pagina funziona bene..se però poi passo all'uso dei dati passati dall'altra pagina (quella dei menù) non preleva più i dati dal db.
il var dump nel funzionamento in modalità autonoma va bene, nella modalità con i dati passati non lo stampa perchè jpgraph blocca, per certi versi, l'output dei print o echo.
spero di essere stato più chiaro.
grazie.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.035
146
63
PR
www.borgo-italia.it
ciao
premetto che non conosco (se non di nome) jpgraph
dimmi se ho capito bene.
1. hai una pagina con un form(?)(pagina "menu") in cui inputi anno, mese e giorno
2. fai la pagina (chiamamola "elabora") che estrae/elabora i dati (quella che hai postato parzialmente)
3. nella pagina "elabora" includi il jpgraph, estrai di dati dal db (o almeno provi) e li passi a jpgraph (è una classe?)
4. se in "elabora" scrivi $anno="2010"; $mese="2"; $giorno="20"; lo script funziona
5. se invece provi a inviare i dati dalla pagina "menu", "elabora" non funzia

è così?
dimenticavo: questo indipendentemente da jpgraph?
 

peppepegasus

Utente Attivo
20 Ott 2006
108
0
0
???

ciao,

rispondo al tuo messaggio borgo italia.
hai capito bene. perfetto. ho provato, invece, di richiamare il grafico come immagine con un link, così:
PHP:
<a href="blocchi_ricerca/immagini_mtp5.php?anno=2004&mese=04&giorno=24&ora=10:10:00">Vai all immagine </a>
per far stampare i vari parametri..neinte i dati dal db non li prende..non riesco a capire il motivo..mi sta facendo impazzire..
hai altri suggerimenti?
grazie mille per il supporto!:fonzie:
 

peppepegasus

Utente Attivo
20 Ott 2006
108
0
0
Risolto..

ciao, finalmente ho risolto il problema..mancava un " nel tag src con cui richiamo l'immagine!
meno male!
grazie comuqnue e scusa se ti ho fatto scervellare!
grazie.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.035
146
63
PR
www.borgo-italia.it
ciao
potresti postare il form che inizialmente hai usato per selezionare la data?
o utilizzi un link come ultimo post?

<a href="blocchi_ricerca/immagini_mtp5.php?anno=2004&mese=04&giorno=24&ora=10:10:00">Vai all immagine</a>

la pagina dove dovresti estrrae i dati da db è la immagini_mtp5.php?
per ora questo