0

ウィキアーティクル(http://codeigniter.com/wiki/gchart/revision/5312/)に従って、CI2.0でグーグルチャートを練習しました。しかし、それは機能しません。

コントローラーファイル:ci \ application \ helpers \ mytest.php

$this->load->helper( 'gchart' );
$this->load->view('my_test');

ファイルを表示:ci \ application \ helpers \ my_test.php

$encoded_data = extendedencode(array(0, 1, 2, 3, 4, 5, 6) &maxvalue;);
echo <<< EOS
     <img src="
        http://chart.apis.google.com/chart?
            cht=lc
            &chs=250x250
            &chd;:e{$encoded}
        "
        alt="line graph of some example data" />
EOS;

ヘルプファイル:ci \ application \ helpers \ gchart_helper.php

// I do copied all the source code from the wiki url link above.

CIでチャート化しようとすると。このようにエラーが表示されました、 解析エラー:構文エラー、予期しない';' C:\ xampp \ htdocs \ demo \ ci \ application \ views \my_test.phpの54行目

私の操作に何か問題がありますか?gchart_helper.phpのextendedencode()を比較しました

function extendedencode($data, &$maxvalue='notspecified')

my_test.phpのextendedencode()

$encoded_data = extendedencode(array(0, 1, 2, 3, 4, 5, 6) &maxvalue;);

次に、my_test.phpビューファイルでextendedencode()行をこれに更新しました。

$encoded_data = extendedencode(array(0, 1, 2, 3, 4, 5, 6), &maxvalue);

もう一度やり直してください。ただし、以下でこのエラーが発生します。

解析エラー:構文エラー、予期しない')'、54行目のC:\ xampp \ htdocs \ demo \ ci \ application \ views\my_test.phpにT_PAAMAYIM_NEKUDOTAYIMが必要です

ヘルプやコメントは大歓迎です。

[更新しました]

When I use the formated below, 

$encoded_data = extendedencode(array(0, 1, 2, 3, 4, 5, 6) &maxvalue);

showed another four error message.



Events List

A PHP Error was encountered

Severity: Notice

Message: Use of undefined constant maxvalue - assumed 'maxvalue'

Filename: views/my_test.php

Line Number: 54

A PHP Error was encountered

Severity: Warning

Message: max() [function.max]: When only one parameter is given, it must be an array

Filename: helpers/gchart_helper.php

Line Number: 49

A PHP Error was encountered

Severity: Warning

Message: Division by zero

Filename: helpers/gchart_helper.php

Line Number: 55

A PHP Error was encountered

Severity: Notice

Message: Undefined variable: encoded

Filename: views/my_test.php

Line Number: 61

[フランクの提案に対して更新]

以下でまだ2つのエラーが発生しています。

A PHP Error was encountered

Severity: Notice

Message: Undefined offset: 64

Filename: helpers/gchart_helper.php

Line Number: 65  // code line: $ret .= $grid[$x].$grid[$y];


A PHP Error was encountered

Severity: Notice

Message: Undefined variable: encoded

Filename: views/my_test.php

Line Number: 61 // code line: &chd;:e{$encoded}
4

2 に答える 2

3

アレックスの答えは構文的に正しくありません。試す:

$encoded_data = extendedencode(array(0, 1, 2, 3, 4, 5, 6), $maxvalue);

関数ドキュメントの & は、変数が参照によって使用されることを示しています。関数を呼び出すときに & を含めるべきではありません (実際にはできません)。古いバージョンの PHP には、call-time pass by reference と呼ばれる機能があり、そのような構文を使用していましたが、最近のバージョンでは許可されていません。

編集:

リストした追加のエラーの 1 つについて: エラー$encodedが示すように、表示されたコードには var がありません。に置き換え&chd;:e{$encoded}てみてください&chd;:e{$encoded_data}-- それはあなたが意図したものかもしれません。

最終的なエラーを黙らせるずさんな方法は、に置き換えること$ret .= $grid[$x].$grid[$y];です$ret .= @$grid[$x].@$grid[$y];。そこで実行されているコードの追加のコンテキストがなければ、実際の根本的な問題が何であるかを言うのは困難です.

于 2011-04-04T04:04:44.190 に答える
0

この行のセミコロンが悪いと思います:

$encoded_data = extendedencode(array(0, 1, 2, 3, 4, 5, 6) &maxvalue;);

直後&maxvalue

出してみる?

于 2011-04-04T03:50:06.780 に答える