Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.02.2010, 01:30   #1
vbuoc
Новичок
Джуниор
 
Регистрация: 02.02.2010
Сообщений: 3
По умолчанию Динамическое использование jpgraph - PHP jquery

Привет всем, измаялся. Помогите пож.
data.php
PHP код:
<?php
   
include_once("dbconnect.inc");
   include (
"jpgraph/jpgraph.php");
   include (
"jpgraph/jpgraph_line.php");
   include (
"jpgraph/jpgraph_date.php");

   
$key=$_GET['key'];    //28.B94527020000
   
$deviation=$_GET['deviation'];//0

   
$SQL "SELECT round(item,1) as item, changedate as cdate from temperatures where temperatures.key='$key' and (YEAR(CURDATE())=YEAR(temperatures.changeDate)) and (month(CURDATE())=month(temperatures.changeDate)) and (day(CURDATE()-$deviation)=day(temperatures.changeDate))";

   
$RESULT mysql_query($SQL);
   if (
$myrow=mysql_fetch_array($RESULT)) {
      do {
         
$ydata[] = $myrow["item"];  //It would not create the graphs without using '[]' 
         
$xdata[] = $myrow["cdate"];
      }while (
$myrow=mysql_fetch_array($RESULT));
   }
$i count($ydata);

$graph = new Graph(450,200,"auto");
$graph->SetScale("textlin");
$graph->SetMarginColor('white');
$graph->SetFrame(true,'#B3BCCB'1);
$graph->SetTickDensity(TICKD_DENSE);
$graph->img->SetMargin(50,20,20,60);
$graph->title->SetMargin(10);
$graph->xaxis->SetTickLabels($xdata);
$graph->xaxis->SetLabelAngle(90);
$graph->xaxis->SetPos('min');

// Обычно значений много, не менее 250 в сутки, 
// поэтому нельзя выводить все значения из массива $xdata на шкалу X
// Это будет сильным нагромождением, поэтому я вывожу каждое 30-е значение.
$my_interval ceil($i 35);
$graph->xaxis->SetTextTickInterval($my_interval);

$lineplot=new LinePlot($ydata);
$graph->Add($lineplot);
// Выводим график
$graph->Stroke();

?>
в index.html
PHP код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
    <
head>
        <
meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <
title>Интерфейс управления умным домом</title>
        <
link rel="stylesheet" type="text/css" href="../../../css/reset.css" media="screen" />
        <
link rel="stylesheet" type="text/css" href="../../../css/text.css" media="screen" />
        <
link rel="stylesheet" type="text/css" href="../../../css/grid.css" media="screen" />
        <
link rel="stylesheet" type="text/css" href="../../../css/layout.css" media="screen" />
        <
link rel="stylesheet" type="text/css" href="../../../css/nav.css" media="screen" />
        <
script type="text/javascript" src="../../../js/jquery.js"></script>
        <script type="php" src="voices/welcome-voice.php"></script>
    </head>
    <body>
    
         <script>  
         function show_t1()  
         {  
             $.ajax({  
             url: "data.php?key=28.9C3F27020000&deviation=0",  
             cache: false,  
             success: function(html){  
                 $("#content_t1").html(html);  
             }  
             });  
         }  
           
         $(document).ready(function(){  
             show_t1();  
             setInterval('show_t1()',1000);  
         });  
         </script>  
....
<div class="block">
                        <p>Температура в доме: <div id="content_t1"></div></p>
                    </div> 
А вместо картинки - абракадабра, типа

PHP код:
&#65533;PNG  ��� IHDR�����������v��� �IDATx���Az�P*_��� �A��mf�9A� �W�,+�(� 
vbuoc вне форума Ответить с цитированием
Старый 02.02.2010, 01:38   #2
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Ощущение, что проблема с HTTP header'ами
motorway вне форума Ответить с цитированием
Старый 02.02.2010, 01:43   #3
vbuoc
Новичок
Джуниор
 
Регистрация: 02.02.2010
Сообщений: 3
По умолчанию

Цитата:
Сообщение от motorway Посмотреть сообщение
Ощущение, что проблема с HTTP header'ами
Добавлял в data.php
PHP код:
<?php
header
('Content-type: image/png');
не то
Прочитал документацию, переделал data.php
PHP код:
// Get the handler to prevent the library from sending the
// image to the browser
$gdImgHandler $graph->Stroke(_IMG_HANDLER);

// Send it back to browser
$graph->img->Headers();

// Выводим график
$graph->Stroke(); 

Последний раз редактировалось vbuoc; 02.02.2010 в 01:51.
vbuoc вне форума Ответить с цитированием
Старый 02.02.2010, 12:58   #4
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

Ищите файл в кодировке UTF.
� == яюэя == FF FE FD FF
FF FE - это BOM для UTF-16, little-endian

Если нет, то ищите, что выводиться до картинки.
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 02.02.2010, 21:19   #5
vbuoc
Новичок
Джуниор
 
Регистрация: 02.02.2010
Сообщений: 3
По умолчанию

Вопрос решен:
PHP код:
<html xmlns="http://www.w3.org/1999/xhtml">
    <
head>
        <
meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <
title>Интерфейс управления умным домом</title>
        <
link rel="stylesheet" type="text/css" href="../../../css/reset.css" media="screen" />
        <
link rel="stylesheet" type="text/css" href="../../../css/text.css" media="screen" />
        <
link rel="stylesheet" type="text/css" href="../../../css/grid.css" media="screen" />
        <
link rel="stylesheet" type="text/css" href="../../../css/layout.css" media="screen" />
        <
link rel="stylesheet" type="text/css" href="../../../css/nav.css" media="screen" />
        <
script type="text/javascript" src="../../../js/jquery.js"></script>
        <script type="php" src="voices/welcome-voice.php"></script>
    </head>
    <body>
    
         <script type="text/javascript"> 
    //data.php?key=28.9C3F27020000&deviation=0
         function show_t1()  
         {  
             $('#g_street').attr('src', 'data.php?key=28.9C3F27020000&deviation=0'+Math.random());  
         $('#g_house').attr('src', 'data.php?key=28.B94527020000&deviation=0'+Math.random());
         }  
           
         $(document).ready(function(){  
             show_t1();  
             setInterval('show_t1()',300000);  
         });  

         </script>
...
  <p>Текущая:</p><img id="g_street" src="data.php"> 
vbuoc вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jquery гармошка soonner JavaScript, Ajax 5 11.11.2011 13:27
jQuery itself spein JavaScript, Ajax 4 25.12.2009 22:30
Разработка базы заявок/клиентов на Jquery + Php + MySql F0mka Фриланс 2 21.11.2009 11:42
PHP: использование элемента массива как массива Sudia Помощь студентам 1 20.02.2009 20:48
Динамическое использование jpgraph FAV1210 PHP 24 30.12.2008 18:10