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..
 
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)
 
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  
?>
 
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:
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?
 
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.
 
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?
 
???

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:
 
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.
 
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
 

Discussioni simili