Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > ขอความช่วยเหลือ เกี่ยวกับ +++++ Jpgraph +++++ ค่ะ



 

ขอความช่วยเหลือ เกี่ยวกับ +++++ Jpgraph +++++ ค่ะ

 



Topic : 027528

Guest




รบกวนผู้รู้ทุกท่านค่ะ ขอความช่วยเหลือ เนื่องจาก กราฟไม่แสดงค่ะ ขึ้น error

The image ?http://localhost/graph2.php? cannot be displayed, because it contains errors.

ซึ่งไม่ทราบค่ะ ว่า error ตรงไหน

ไฟล์กราฟค่ะ

<?php

require_once("jpgraph/jpgraph.php");
require_once("jpgraph/jpgraph_line.php");
require_once("test03.php");


/*for ($i = 0; $i < count($equipment_object); $i++)
{
	for ($j = 0; $j < 8; $j++)
		echo $equipment_object[$i]->time_frame[$j] . "<br />";
}
*/


$ydata = array($equipment_object[0]->time_frame[0], $equipment_object[0]->time_frame[1], $equipment_object[0]->time_frame[2], $equipment_object[0]->time_frame[3], $equipment_object[0]->time_frame[4], $equipment_object[0]->time_frame[5], $equipment_object[0]->time_frame[6], $equipment_object[0]->time_frame[7]);

//$ydata = array(18,30,44,28,60,38,90,67);
$xdata  = array("06 am. - 09 am.","09 am. - 12 pm.","12 pm. - 03 pm.","03 pm. -  06 pm.","06 pm. - 09 pm.","09 pm. - 00 am.","00 am. - 03 am.","03 am. - 06 am.");

$mygraph = new Graph(380,260);

$mygraph->SetScale("textlin");

$mygraph->title->Set("Light 1");

$mygraph->xaxis->title->Set("Time");

$mygraph->yaxis->title->Set("Frequency");

$mygraph->xaxis->SetTickLabels($xdata);

$mygraph->SetShadow();

$mygraph->SetMargin(85,50,40,70);

$mygraph->SetMarginColor("palegreen2");
//$mygraph->xaxis->SetColor('blue');
//$mygraph->yaxis->SetColor('blue','red');

/*Set Weight*/
$mygraph->yaxis->SetWeight(2);
$mygraph->xaxis->SetWeight(2);



$mygraph->title->SetMargin(15);
/*Set title font*/
//$mygraph->title->SetFont(FF_FONT2,FS_BLOD);

/*Set Title Color*/
//$mygraph->title->SetColor("maroon1");


$mygraph->xaxis->SetFont(FF_ARIAL,FS_NORMAL,8);
$mygraph->yaxis->SetFont(FF_ARIAL,FS_NORMAL,9);

$mygraph->xaxis->SetLabelMargin(15);


$mygraph->xaxis->SetTitleMargin(0);
$mygraph->yaxis->SetTitleMargin(30);

/*45 degree angle x label*/
$mygraph->xaxis->SetLabelAngle(20);

$mygraph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);
$mygraph->yaxis->title->SetFont(FF_FONT1,FS_BOLD);

$line1 = new LinePlot($ydata);
$line1->SetColor("gray");
$line1->SetWeight(2);

$line1->value->Show();
$line1->value->SetColor("black");
$line1->value->SetFont(FF_FONT1);

$line1->mark->SetType(MARK_IMG_SBALL,'orange',0.5);







$mygraph->Add($line1);

$mygraph->Stroke();

?>



ไฟล์กราฟได้เรียกใช้ข้อมูล ydata จาก ไฟล์ test03.php ค่ะ

ไฟล์ที่ใช้คำนวณ ydata ค่ะ


<?php
require_once 'DB.php';

$search_datetime = "2009-02-11 00:00:00";
$search_time = strtotime($search_datetime);
class Equipment
{
	var $name = "";
	var $is_active = false;
	var $time_start = "";
	var $time_end = "";
	var $time_frame = array(0, 0, 0, 0, 0, 0, 0, 0);
	
	function Equipment($name)
	{
		$this->name = $name;
	}
}

$equipment_object = array(
	$light01 = new Equipment("Light01"),
	$light02 = new Equipment("Light02"),
	$light03 = new Equipment("Light03"));
	
//print_r($equipment_object);
function EnableEquipment($equipment, $date_time)
{
	if (!$equipment->is_active)
	{
		//echo 'Open : ' . $equipment->name . '<br />';
		$equipment->is_active = true;
		$equipment->time_start = strtotime($date_time);
	}
}

function DisableEquipment($equipment, $date_time, $search_time)
{
	if ($equipment->is_active)
	{
		//echo 'Close : ' . $equipment->name . '<br />';
		$equipment->is_active = false;
		$equipment->time_end = strtotime($date_time);
		$result = SecondToMinute($equipment->time_end - $equipment->time_start);
		//echo "<b>" . $equipment->name  ." : " . $result . " minute</b><br />";
		
		$index_start = floor(SecondToMinute($equipment->time_start - $search_time) / 180);
		$index_end = floor(SecondToMinute($equipment->time_end - $search_time) / 180);
		//echo $index_start . " - " . $index_end . "<br />";
		$temp_seek = SecondToMinute($equipment->time_start - $search_time);
		for ($i = $index_start; $i < $index_end; $i++)
		{
			$time_seek = (180 * ($i + 1)) - $temp_seek;
			$equipment->time_frame[$i] += $time_seek;
			$result -= $time_seek;
			
			$temp_seek = (180 * ($i + 1));
		}
		
		$equipment->time_frame[$index_end] += $result;
	}
}

function SecondToMinute($time_second)
{
	return floor($time_second / 60);
}

@$db = DB::connect('mssql://admin-e15aebbb5/msn_database');
if (DB::isError($db))
{
echo 'Cannot connect to database: ' . $db->getMessage();
}
else {
	//print "Connected<br>\n";
	$sql="select * from log_file";

	$resdb =& $db->query($sql);	
	$tableinfo = $db->tableInfo($resdb);
	$resdb=$db->getAll($sql);
	if (PEAR::isError($resdb)) {
		print "Error [$sql], ".$resdb->getMessage(). "<br>\n";
		exit;
	}
	else {
		for ($i = 0; $i < count($resdb); ++$i) {
			$eng_com = $resdb[$i][1];
			$date_time = $resdb[$i][4];
			
			if ((strtotime($date_time) - $search_time) >= (3600 * 24))
			{
				break;
			}
			else if ((strtotime($date_time) - $search_time) < 0)
			{
				continue;
			}
			
			//echo $eng_com . ' | ' . $date_time . '<br />';
			
			switch ($eng_com)
			{
				case "OpenAll" :
					foreach ($equipment_object as $equipment)
					{
						EnableEquipment($equipment, $date_time);
					}
					break;
				case "CloseAll" :
					foreach ($equipment_object as $equipment)
					{
						DisableEquipment($equipment, $date_time, $search_time);
					}
					break;
				case "OpenLight1" :
					EnableEquipment($equipment_object[0], $date_time);
					break;
				case "CloseLight1" :
					DisableEquipment($equipment_object[0], $date_time, $search_time);
					break;
				case "OpenLight2" :
					EnableEquipment($equipment_object[1], $date_time);
					break;
				case "CloseLight2" :
					DisableEquipment($equipment_object[1], $date_time, $search_time);
					break;
				case "OpenLight3" :
					EnableEquipment($equipment_object[2], $date_time);
					break;
				case "CloseLight3" :
					DisableEquipment($equipment_object[2], $date_time, $search_time);
					break;
				case "ChangeStatusAll" :
					foreach ($equipment_object as $equipment)
					{
						if ($equipment->is_active)
						{
							DisableEquipment($equipment, $date_time, $search_time);
						}
						else
						{
							EnableEquipment($equipment, $date_time);
						}
					}
					break;
				case "ChangeStatusLight1" :
					if ($equipment_object[0]->is_active)
					{
						DisableEquipment($equipment_object[0], $date_time, $search_time);
					}
					else
					{
						EnableEquipment($equipment_object[0], $date_time);
					}
					break;
					$ydata = array($equipment_object[0][0], $equipment_object[0][1], $equipment_object[0][2], $equipment_object[0][3], $equipment_object[0][4], $equipment_object[0][5], $equipment_object[0][6], $equipment_object[0][7]);
			
			}	
		}
	}
}
$db->disconnect();

// Output
//echo "<br />";
//echo "<h1>Report : </h1>";
/*foreach ($equipment_object as $equipments)
{
	echo '<b>' . $equipments->name . '</b><br />';
	foreach ($equipments->time_frame as $key => $value)
	{
		echo "(" . ($key * 3) . ".00 - " . ($key * 3 + 2.59) . ") => " . $value . ' minute<br />';
	}
}*/

?>



ซึ่งในตอนแรกดิฉันได้ลอง set ค่า ydata เป็นค่าตัวเลขธรรมดา ก็ปรากฎว่า กราฟได้แสดงปกติ แต่พอเรียกใช้ ydata จากไฟล์อื่นเท่านั้น กราฟก็ error ค่ะ

ดิฉันจึงลอง สร้างไฟล์ใหม่แล้วเรียก ปริ๊น ydata จาก ไฟล์ test03.php ดู ก็ปรากฏว่า แสดงข้อมูลได้ปกติไม่มี error ใดๆเกิดขึ้น ซึ่งข้อมูลของ ydata ที่ปริ๊นออกมาดูได้ดังนี้ 0 147 180 180 180 180 180 156 ซึ่งเป็นข้อมูลที่ถูกต้อง แต่พอไฟล์สองไฟล์คือไฟล์ graph และไฟล์ที่ใช้คำนวนสูตร มาทำงานร่วมกันเท่านั้นก็เกิด error ขึ้น ซึ่งหาไม่พบว่าต้นเหตุมาจากอะไร จึงรบกวนขอคำแนะนำและความช่วยเหลือจากผู้รู้ทุกๆท่านด้วยค่ะ

ขอขอบคุณทุกท่านมา ณ ที่นี้ค่ะ



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2009-05-20 19:37:40 By : Eniac View : 1439 Reply : 4
 

 

No. 1



โพสกระทู้ ( 11 )
บทความ ( 0 )



สถานะออฟไลน์


ไม่ทราบว่า gd2 กับ iconv ทำงานหรือป่าวครับ






Date : 2009-05-21 14:44:55 By : versaa
 


 

No. 2



โพสกระทู้ ( 1,357 )
บทความ ( 4 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


Code (PHP)
<?php
require_once("test03.php");

print_r($equipment_object[0]->time_frame);
?>


ลองดูครับ ว่ามันมีข้อมูลเป้นยังงัย
Date : 2009-05-22 18:20:07 By : lozomac
 

 

No. 3

Guest


ขอบคุณมากค่ะ ทุกท่าน

ตอนนี้กราฟโชว์แล้วค่ะ

ขอบคุณทุกๆท่านมากน่ะค่ะ ที่เข้ามาช่วยเหลือ
Date : 2009-05-23 23:07:40 By : Eniac
 


 

No. 4



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


โชว์แล้วหรอ ยินดีด้วยนะ
Date : 2009-05-24 01:55:31 By : plakrim
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ขอความช่วยเหลือ เกี่ยวกับ +++++ Jpgraph +++++ ค่ะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่