0

私はHighcharts以下のようなコードを持っています:

 tooltip: {
        formatter: function() {
            return ''+
                this.series.name +': '+ (100 - (this.y)) +' ('+ this.y +'%)';
        }
    },

そしてPHP、次のようにコードします。

 $Blue = ((int)$data[6] -(int)$data[7]);
 $Red =  (int)$data[7];

(100 - (this.y))この 2 つの変数$Blueに置き換えたいのですが$Red、arc y には表示用の 2 つの数値があるため、2 番目のグラフを参照してください。しかし、私はそれを修正する方法がわかりません、誰かが私を助けてください、ありがとう。

4

3 に答える 3

1

PHP(.php) ファイルに JavaScript コードがある場合は、次のように置き換えることができます。

<?php
$Blue = 100;
$Red = 200;
?>
<script type="text/javascript" >
alert("Blue is " + <?php echo $Blue; ?> );
alert("Red is " + <?php echo $Red; ?> );
</script>

また

あなたのjavascriptとphpは別のファイルに存在していました。次に、次のようにします

//myphp.php ファイル

<?php
$Blue = 100;
$Red = 200;
?>
<script type="text/javascript" >
var blue = <?php echo $Blue; ?>;
var red = <?php echo $Red; ?> ;
</script>

//myjs.js ファイル

alert("Blue is " + blue);
alert("Red is " + red);

また、myjs.js ファイル内のコードを実行する前に、myphp.php ファイル内の JavaScript コードが実行されていることを確認してください。

注: これは理解のためのものであり、正確なコードではありません。

于 2013-01-04T10:10:58.320 に答える
0
tooltip: {

    formatter: function() {
        return ''+
            this.series.name +': '+ (<?php echo $Blue - $Red ?>) +' ('+ this.y +'%)';
    }
},
于 2013-01-04T09:48:48.213 に答える
0

hilarudeensあなたのために2つの実用的なソリューションを提供しました

利用可能なオプションの束にもう 1 つ追加させてください ;)

私は、JS と PHP を混在させず、常にすべての JavaScript を js ファイルに入れることをお勧めします (そして、皆さんにもそうするように勧めます) 。

PHPでは、次のようにhidden inputタグを使用できます

<input type="hidden" 
       value="<?php echo 'Some Value'; ?>" 
       id="hiddenValue" />

これが行うことは、入力タグを追加して、それに値を追加できるようにすることです。

JavaScript では、この入力から値を読み取り、JS 変数に格納できます。

var hiddenValue=$("#hiddenValue").val();

あなたのコードのために

PHP

<?php
$Blue = ((int)$data[6] -(int)$data[7]);
$Red =  (int)$data[7];
?>
<input type="hidden" 
       value="<?php echo  $Blue; ?>" 
       id="blueValue" />
<input type="hidden" 
       value="<?php echo $Red; ?>" 
       id="redValue" />

JS

 var blue = parseInt($("#blueValue").val());
 var red = parseInt($("#redValue").val());
 ...
 tooltip: {
        formatter: function() {
            return ''+
                this.series.name +': '+ (blue - red) +' ('+ this.y +'%)';
        }
    },
于 2013-01-04T14:50:22.810 に答える