$pocet_hodnot) $interval_popisek_x = 1; //budu zobrazovat popisku každé hodnoty osy x else //budu zobrazovat popisky pouze určitých hodnot osy x $interval_popisek_x = ceil($pocet_hodnot / $pocet_popisek_osy_x); //provedu dotaz do databáze, na hodnoty grafu $datum=$_SESSION["rok"]."-".$_SESSION["mesic"]."-".$_SESSION["den"]; #@$vysledek = mysql_query("select id, cas, proud, teplota, osvetleni" # ." from senzor1 " # ." where date(cas) = CURDATE() and id%6 = 0" //where cas = CURRENT_DATE() # ." order by id"); @$vysledek = mysql_query("select id, cas, proud, teplota, osvetleni" ." from senzor1 " ." where date(cas) = '$datum' and id%6 = 0" ." order by id"); if (!$vysledek): { // mám smůlu, nepodařilo se mi získat data z tabulky // vypíšu o tom do obrázku zprávu ImageString($im, $fontsize, $bod0_x1+5, $horni_okraj, "Nepodařilo se přečíst hodnoty grafu z tabulky", $cerna); } else: { $pocet = mysql_NumRows($vysledek); if ($pocet_hodnot > $pocet) $pocet_hodnot = $pocet; // kdyby mezitim nahodou nekdo nejaky udaj vymazal //vypisu prvni popisku osy x ImageStringUp($im, $fontsize, $bod0_x1-round(ImageFontHeight($fontsize)/2), $vyska_obrazku, str_pad(date("G:i:s",strtotime(mysql_result($vysledek, 0, "cas"))), $cislic_osy_x-1, " ", STR_PAD_LEFT), $cerna); $posledni_x = $bod0_x1; $posl_y_osvetleni = $vyska_obrazku - $bod0_y - ((mysql_result($vysledek, 0, "osvetleni") - $min) * $koeficient_y); $posl_y_teplota = $vyska_obrazku - $bod0_y - ((mysql_result($vysledek, 0, "teplota") - $min2) * $koeficient_y2); $posl_y_proud = $vyska_obrazku - $bod0_y - ((mysql_result($vysledek, 0, "proud") - $min3) * $koeficient_y3); $i = 1; while ($i<$pocet_hodnot): // vypočítám x polohu této hodnoty grafu $pom_x = ($i * $koeficient_x) + $bod0_x1; // vypočítám y polohu obou hodnot $pom_y_osvetleni = $vyska_obrazku - $bod0_y - ((mysql_result($vysledek, $i, "osvetleni") - $min) * $koeficient_y); $pom_y_teplota = $vyska_obrazku - $bod0_y - ((mysql_result($vysledek, $i, "teplota") - $min2) * $koeficient_y2); $pom_y_proud = $vyska_obrazku - $bod0_y - ((mysql_result($vysledek, $i, "proud") - $min3) * $koeficient_y3); //nakreslím křivky od minulého k tomuto bodu ImageLine($im, $posledni_x, $posl_y_osvetleni, $pom_x, $pom_y_osvetleni, $cervena); ImageLine($im, $posledni_x, $posl_y_teplota, $pom_x, $pom_y_teplota, $zelena); ImageLine($im, $posledni_x, $posl_y_proud, $pom_x, $pom_y_proud, $modra); // vykreslím rysku na ose x ImageLine($im, $pom_x, $vyska_obrazku - $bod0_y + 2, $pom_x, $vyska_obrazku - $bod0_y - 2, $cerna); // vypíšu popisku osy x if (round($i/$interval_popisek_x) == ($i/$interval_popisek_x)) ImageStringUp($im, $fontsize, $pom_x - round(ImageFontHeight($fontsize)/2), $vyska_obrazku, str_pad(date("G:i:s",strtotime(mysql_result($vysledek, $i, "cas"))), $cislic_osy_x-1, " ", STR_PAD_LEFT), $cerna); // nastavím současné hodnoty jako minulé $posledni_x = $pom_x; $posl_y_osvetleni = $pom_y_osvetleni; $posl_y_teplota = $pom_y_teplota; $posl_y_proud = $pom_y_proud; $i++; endwhile; //vypíši název osy x ImageString($im, $fontsize, $sirka_obrazku - $pravy_okraj, $vyska_obrazku-$bod0_y + 5, $nazev_osy_x, $cerna); $pom_x = $sirka_obrazku - $pravy_okraj; //vypíši legendu pro osvetleni ImageString($im, $fontsize, $pom_x + $delka_vzorku_legendy + ImageFontWidth($fontsize), $horni_okraj, $nazev_krivky_1, $cerna); //vzorek pro legendu $pom_y = $horni_okraj + round(ImageFontHeight($fontsize)/2); ImageLine($im, $pom_x, $pom_y, $pom_x + $delka_vzorku_legendy, $pom_y, $cervena); //vypíši legendu pro teplotu ImageString($im, $fontsize, $pom_x + $delka_vzorku_legendy + ImageFontWidth($fontsize), $horni_okraj + (ImageFontHeight($fontsize) * 2), $nazev_krivky_2, $cerna); //vzorek pro legendu $pom_y += + (ImageFontHeight($fontsize) * 2); ImageLine($im, $pom_x, $pom_y, $pom_x + $delka_vzorku_legendy, $pom_y, $zelena); //vypíši legendu pro proud ImageString($im, $fontsize, $pom_x + $delka_vzorku_legendy + ImageFontWidth($fontsize), $horni_okraj + (ImageFontHeight($fontsize) * 4), $nazev_krivky_3, $cerna); //vzorek pro legendu $pom_y += + (ImageFontHeight($fontsize) * 2); ImageLine($im, $pom_x, $pom_y, $pom_x + $delka_vzorku_legendy, $pom_y, $modra); } endif; mysql_Close(); ImageGIF($im); ?>