2011-04-11 1 views
0

그래서 SVGGraph http://www.goat1000.com/svggraph.php으로 작업을 시작했습니다. 매우 만족하지만 CodeIgniter 앱에서는 멋지지 않습니다.PHP CodeIgniter echo svg graph (SVGGraph)

그래프를 만드는 기능이 있습니다. 나는 끝에 를 호출 할 수 있습니다

$ graph->

또는

$ graph-> ('PieGraph')를 가져 오기

이상적으로 내가 좋아하는 것 ('PieGraph')를 렌더링 그래프를 반환하는 함수를 호출 할 수 있어야 그래프가 필요할 때마다 그래프를 반향시킬 수 있습니다.

현재 "image/svg + xml"로 설정된 헤더/콘텐츠 유형에서만이 작업을 수행 할 수 있습니다. 문제는 문서에서 다른 것을 인쇄 할 수 없다는 것입니다.

SVG를 html로 인라인으로 작동시킬 수있는 방법에 대한 아이디어가 있으므로 일반 그래픽처럼 삽입 할 수 있습니다.

감사합니다.

P. 나는 보통 여기에 몇 가지 코드를 게시 할 것이지만 나는 거의 정확한 것을 가지고 있지 않다. :) 감사. 나는 그것을 테스트하지 않았습니다 그러나이 같은 당신을 위해 작동합니다

답변

2

,

class Test extends CI_Controller { 

    // Here in this method you define svg graphics 
    function get_svg() 
    { 
     header('Content-type: image/svg+xml'); 
     $graph = new SVGGraph(640, 480); 
     $graph->colours = array('red','green','blue'); 
     $graph->Values(100, 200, 150); 
     $graph->Links('/Tom/', '/Dick/', '/Harry/'); 
     $graph->Render('BarGraph'); 
    } 

    // This is the index method 
    function index() 
    { 
     $this->view('test'); 
    } 
} 

// In view page view/test.php 

<body> 
    <embed type="image/svg+xml" src="<?php echo site_url('test/get_svg') ?>"; height="300" width="500"/> 
</body> 
+0

건배, 그게 내가 일하는 것이 확신했다 하나 개의 솔루션이었다 그러나 나는 URL의 reguest을 통해 함수를 호출 피하려고했다. . 많은 그래프 데이터가있을 때 위의 방법을 사용하면 어떻게 될까요? 제안을 환영합니다 .. 감사. – conor

+0

humm ... 매개 변수를 메서드에 전달 예. 다른 svg 출력을 얻으려면 get_svg ($ option)을 사용하여 코드를 쉽게 유지 보수하고 구현해야합니다. – Aman

+0

또 다른 아이디어는 PHP funtion ob_start()를 사용할 수 있다는 것입니다; 및 ob_get_contents(); 변수에 svg 클래스의 내용을 저장 한 다음보기 페이지로 전달하면 비트가 복잡하지만 너무 잘 작동합니다. – Aman