Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Aiuto per problema con condizione if

    Ciao a tutti, chiedo aiuto per un problema che non so proprio risolvere.Dovrei applicare una condizione if alla colonna gradigiorno della tabella che potete vedere al link seguente http://ankamacha.altervista.org/gradigiorno.php
    Vorrei fare in modo che nella prima tabella con i mesi mese:5 somma(), mese:6 somma() etc...
    venissero sommati solo i gradigiorno positivi.
    es. per:
    per il mese 5 di maggio dovrei avere 0 poichè i valori sono negativi,
    per il mese di giugno dovrei avere un certo valore che però deve escludere i valori negativi...

    sotto riporto il codice php relativo al link:http://ankamacha.altervista.org/gradigiorno.php

    tutto funziona a parte la condizione if (gradigiorno>0) ...

    Sapete aiutarmi?
    Grazie mille




    <?php
    mysql_connect("localhost", "", "") or die(mysql_error());
    mysql_select_db("") or die(mysql_error());



    //query
    $result=mysql_query("select date_format(date,'%d/%m/%Y')as giorno,MONTH(date) AS mese,avg(temp),avg(umidita),avg(20-(temp)) as gradigiorno from TABELLA2 group by giorno order by date desc limit 1000");


    //db vuoto? esci //
    $numrows = mysql_num_rows($result);
    if ($numrows==0){
    exit();
    }

    //isola mesi
    $result1=mysql_query("SELECT distinct MONTH(date) AS mese FROM TABELLA2 ORDER BY `mese` ASC");
    while($row1 = mysql_fetch_assoc($result1))
    {
    $calcolomese=$row1['mese'];
    $totale=0;

    //query mese specifico medie giornaliere
    $result2=mysql_query("SELECT date_format(date,'%d/%m/%Y') as datario,MONTH(date) AS mese,DAY(date) AS giorno,avg(`umidita`),avg(`temp`),avg(20-(temp)) as gradigiorno FROM TABELLA2 WHERE MONTH(date)='$calcolomese' group by datario asc");
    while($row2 = mysql_fetch_assoc($result2))

    {
    if (gradigiorno>0)

    {
    $mediagiorno=$row2['gradigiorno']; //$mediagiorno=$row2['avg(`TEMPERATURA`)'];
    $totale=$totale+$mediagiorno;
    }
    }
    Echo "mese:".$calcolomese." somma:".$totale."
    ";

    }

    //query
    $result=mysql_query("select date_format(date,'%d/%m/%Y')as giorno,MONTH(date) AS mese,avg(temp),avg(umidita),avg(20-(temp)) as gradigiorno from TABELLA2 group by giorno order by date desc limit 1000");

    // prepara intestazione tabella //
    echo "<table style='text-align:center'><tr ><th width='100px'>Giorno</th><th width='100px'>Temperatura</th><th width='100px'>Umidità</th><th width='100px'>Gradigiorno</th></tr>";

    while($row = mysql_fetch_assoc($result))
    {
    // crea riga tabella//
    echo "<tr><td >".($row['giorno'])."</td><td>".number_format(($row['avg(temp)']),2)."</td><td>".number_format(($row['avg(umidita)']),2)."</td><td>".number_format(($row['gradigiorno']),2)."</td></tr>";
    }

    // chiude tabella //
    echo "</table>";
    ?>

  2. #2
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    Manca il $row2 davanti a gradigiorno?
    Siamo sempre troppo gelosi delle nostre grandi piccole opere! - Grino inedito.
    Lavori e Lavoretti

  3. #3
    sai come dovrei impostarlo?


    {
    if ($row2gradigiorno>0)

    {
    $mediagiorno=$row2['gradigiorno']; //$mediagiorno=$row2['avg(`TEMPERATURA`)'];
    $totale=$totale+$mediagiorno;
    }

  4. #4
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    $row2['gradigiorno']

    Siamo sempre troppo gelosi delle nostre grandi piccole opere! - Grino inedito.
    Lavori e Lavoretti

  5. #5
    era una cosa banale ma essendo alla prime armi... :-)


    funziona grazie mille Grino!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.