เกี่ยวกับ jpgraph อ่ะค่ะ พอดีภาษาไทยไม่ขึ้นค่ะ รบกวนด้วยน่ะค่ะ
Code (PHP)
<?php
include("../JpGraph/src/jpgraph.php");
include("../JpGraph/src/jpgraph_line.php");
include('config.inc.php');
$g = new Graph(500, 650);
$g->SetScale("textlin");
//ส่งค่า
$sub=$_POST['subject'];
$arr=explode(" ",$sub);
$subjectid=$arr[0];
$subjectname=$arr[1];
//ส่วนบน
$head="รหัสวิชา : ".$subjectid." "."วิชา : ".$subjectname;
$title = iconv("tis-620", "utf-8", $head);
$g->title->Set($title);
$g->title->SetFont(FF_JASMINE, FS_BOLD, 20);
//หารายชื่ออาจารย์
$sqlteacher="SELECT DISTINCT CONCAT(`Teacher_FName`,' ',`Teacher_LName`) AS Teacher_Name FROM reassess WHERE (Subject_Id='$subjectid')";
$resultteacher=mysql_query($sqlteacher)or die ("no sqlteacher");
$numteacher=mysql_num_rows($resultteacher);
for($k=0;$k<$numteacher;$k++){
$datateacher=mysql_fetch_array($resultteacher);
//เก็บชื่อและนามสกุลอาจารย์ไว้ในรูปอาร์เรย์;
$printteacher[$k] =$datateacher[Teacher_Name]."<br>";
//แยกระหว่างชื่อและนามสกุลอาจารย์
$arrtea=explode(" ",$datateacher[Teacher_Name]);
$teacherfname=$arrtea[0];
$teacherlname=$arrtea[1];
//point
$sqlselect="SELECT * FROM reassess WHERE(Teacher_FName='$teacherfname')AND(Teacher_LName='$teacherlname')AND(Subject_Id='$subjectid');";
$resultselect=mysql_query($sqlselect)or die ("no sqlselect");
$numselect=mysql_num_rows($resultselect);
//ลบคะแนนทั้งหมดให้เป็น0
for($clear=0;$clear<30;$clear++){
$question[$clear]=0;
}
while($dataselect=mysql_fetch_array($resultselect)){
$question[1]=$question[1]+ $dataselect[Ques1];
$question[2]=$question[2]+ $dataselect[Ques2];
$question[3]=$question[3]+ $dataselect[Ques3];
$question[4]=$question[4]+ $dataselect[Ques4];
$question[5]=$question[5]+ $dataselect[Ques5];
$question[6]=$question[6]+ $dataselect[Ques6];
$question[7]=$question[7]+ $dataselect[Ques7];
$question[8]=$question[8]+ $dataselect[Ques8];
$question[9]=$question[9]+ $dataselect[Ques9];
$question[10]=$question[10]+ $dataselect[Ques10];
$question[11]=$question[11]+ $dataselect[Ques11];
$question[12]=$question[12]+ $dataselect[Ques12];
$question[13]=$question[13]+ $dataselect[Ques13];
$question[14]=$question[14]+ $dataselect[Ques14];
$question[15]=$question[15]+ $dataselect[Ques15];
$question[16]=$question[16]+ $dataselect[Ques16];
$question[17]=$question[17]+ $dataselect[Ques17];
$question[18]=$question[18]+ $dataselect[Ques18];
$question[19]=$question[19]+ $dataselect[Ques19];
$question[20]=$question[20]+ $dataselect[Ques20];
$question[21]=$question[21]+ $dataselect[Ques21];
$question[22]=$question[22]+ $dataselect[Ques22];
$question[23]=$question[23]+ $dataselect[Ques23];
$question[24]=$question[24]+ $dataselect[Ques24];
$question[25]=$question[25]+ $dataselect[Ques25];
$question[26]=$question[26]+ $dataselect[Ques26];
$question[27]=$question[27]+ $dataselect[Ques27];
$question[28]=$question[28]+ $dataselect[Ques28];
$question[29]=$question[29]+ $dataselect[Ques29];
$question[30]=$question[30]+ $dataselect[Ques30];
}
//จำนวนนักศึกษาที่ประเมินสำหรับวิชานั้นๆ
$numstu=mysql_num_rows($resultselect);
//นำคะแนนมาคูณจำนวนนักศึกษา
$point=$numstu*5;
//คะแนนข้อย่อย
$sqlsub="SELECT * FROM sub ORDER BY Sub_No ASC";
$resultsub=mysql_query($sqlsub)or die ("no sqlsub");
$numsub=mysql_num_rows($resultsub);
//เคลียร์ค่า
$resultsumsub=0;
for($i=1;$i<=$numsub;$i++){
$resultques[$i]=($question[$i]/$point)*100;
$resultques[$i]=round($resultques[$i],2);
$resultsumsub=$resultsumsub+$resultques[$i];
}
$resultsum= $resultsumsub/$numsub;
$printresult[$k]= round($resultsum,2);
}
for($n=0;$n<$numteacher;$n++){
$labels= iconv("tis-620", "utf-8", $printteacher[$n]);
}
//jpgraph
$g->xaxis->SetTickLabels($labels);
$g->xaxis->SetFont(FF_CORDIA, FS_NORMAL, 14);
$g->xaxis->SetLabelAngle(45);
for($n=0;$n<$numteacher;$n++){
$data[$n]=$printresult[$n];
}
$line = new LinePlot($data);
$line->value->Show();
$line->mark->SetType(MARK_SQUARE);
$line->value->SetColor("red");
$g->Add($line);
$g->Stroke();
?>
ตรง title ขึ้นเป็นภาษาไทย แต่ว่าตรงแกน x มันไม่ขึ้นไทยอ่ะค่ะTag : PHP
Date :
2010-11-15 22:20:44
By :
n_t
View :
1524
Reply :
6
ฟอนต์ FF_CORDIA ใส่ไปแล้วหรอ เห็น title ไม่ได้ใช้ FF_CORDIA นิ
Date :
2010-11-15 22:48:02
By :
PlaKriM
ข้างบนมันขึ้นภาษาไทยแล้วอ่ะค่ะ แต่ว่าปัญหามันคือข้างล่างอ่าค่ะ T-T
Date :
2010-11-15 22:50:45
By :
n_t
เอาคำสั่งนี้ไปไว้ระหว่างบรรทัดที่ 110 และ 111 ครับจะทราบว่ามีตัวแปรให้ set font ที่ไหนบ้าง
echoSetFont($g,'$g','FF_JASMINE');
echoSetFont($line,'$line','FF_JASMINE');
function echoSetFont($obj,$name,$fontNumber='FF_USERFONT1'){
foreach($obj as $k=>$o){
if (is_object($o)){
$vars = array_keys(get_object_vars($o));
if (method_exists($o,'SetFont')){
echo $name,'->',$k,'->SetFont('.$fontNumber.')<br/>';
}
echoSetFont($o,$name.'->'.$k,$fontNumber);
}
}
}
http://web-programming-bookmark.blogspot.com/2010/10/set-folder-font-jpgraph.html
http://web-programming-bookmark.blogspot.com/2010/10/jpgraph.html
Date :
2010-11-15 22:51:07
By :
num
ใส่แล้วน่ะค่ะ แต่ขึ้นerrorอ่าค่ะ
Date :
2010-11-15 23:06:31
By :
n_t
$g->img->SetFont(FF_JASMINE);
$g->xaxis->SetFont(FF_JASMINE);
$g->xaxis->img->SetFont(FF_JASMINE);
$g->xaxis->title->SetFont(FF_JASMINE);
$g->yaxis->SetFont(FF_JASMINE);
$g->yaxis->img->SetFont(FF_JASMINE);
$g->yaxis->title->SetFont(FF_JASMINE);
$g->title->SetFont(FF_JASMINE);
$g->subtitle->SetFont(FF_JASMINE);
$g->subsubtitle->SetFont(FF_JASMINE);
$g->footer->left->SetFont(FF_JASMINE);
$g->footer->center->SetFont(FF_JASMINE);
$g->footer->right->SetFont(FF_JASMINE);
$g->tabtitle->SetFont(FF_JASMINE);
$g->legend->SetFont(FF_JASMINE);
$line->mark->title->SetFont(FF_JASMINE);
$line->value->SetFont(FF_JASMINE);
$line->value->txt->SetFont(FF_JASMINE);
เอาโค้ดไปแทรกข้างหน้าคำสั่ง
$g->Stroke(); ครับ
ส่วนด้านล่างเป็นตัวอย่างการใช้ function แสดง object ที่ SetFont ได้ครับ
<?php // content="text/plain; charset=utf-8"
require_once ('jpgraph/jpgraph.php');
require_once ('jpgraph/jpgraph_line.php');
// Some data
$ydata = array(11,3,8,12,5,1,9,13,5,7);
// Create the graph. These two calls are always required
$g = new Graph(350,250);
$g->SetScale('textlin');
// Create the linear plot
$line=new LinePlot($ydata);
$line->SetColor('blue');
// Add the plot to the graph
$g->Add($line);
echoSetFont($g,'$g','FF_JASMINE');
echoSetFont($line,'$line','FF_JASMINE');
function echoSetFont($obj,$name,$fontNumber='FF_USERFONT1'){
foreach($obj as $k=>$o){
if (is_object($o)){
$vars = array_keys(get_object_vars($o));
if (method_exists($o,'SetFont')){
echo $name,'->',$k,'->SetFont('.$fontNumber.')<br/>';
}
if ($k != 'graph_theme'){
echoSetFont($o,$name.'->'.$k,$fontNumber);
}
}
}
}
// Display the graph
$g->Stroke();
?>
Date :
2010-11-16 10:16:19
By :
num
Load balance : Server 03