Google chart-метки столбцов

У меня есть следующий код:

$rows = array(); 
$table = array();
$table['cols'] = array(

    array('label' => 'Date', 'type' => 'string'),
    array('label' => 'Charging Current', 'type' => 'number'),
    array('label' => 'Battery Voltage', 'type' => 'number'),    
    array('label' => 'Charging Power', 'type' => 'number'),
    array('label' => 'Rotation', 'type' => 'number'),
);

и интересно, как это изменить, чтобы иметь возможность изменить количество столбцов. Отображение столбцов в зависимости от переменных (что-то вроде этого):

$rows = array(); 
$table = array();
$table['cols'] = array(
   array('label' => 'Date', 'type' => 'string'),
if ($current == "true") {**
    array('label' => 'Charging Current', 'type' => 'number'),
}
if ($voltage == "true") {
    array('label' => 'Battery Voltage', 'type' => 'number'),    
}
if ($power == "true") {
    array('label' => 'Charging Power', 'type' => 'number'),
}
if ($rotation == "true") {
    array('label' => 'Rotation', 'type' => 'number'),
}
);

$rows = array();
while($r = mysql_fetch_assoc($sth)) {
    $temp = array();
    // the following line will be used to slice the chart
    $temp[] = array('v' => (string) $r['TimeStamp']); 

    // Values of each slice
    if ($current == "true") {
        $temp[] = array('v' => (int) $r['ChargingCurrent']); 
        $rows[] = array('c' => $temp);
    }
    if ($voltage == "true") {
        $temp[] = array('v' => (int) $r['BatteryVoltage']); 
        $rows[] = array('c' => $temp);  
    }
    if ($power == "true") {
        $temp[] = array('v' => (int) $r['ChargingPower']); 
        $rows[] = array('c' => $temp);
    }
    if ($rotation == "true") {
        $temp[] = array('v' => (int) $r['Rotation']); 
        $rows[] = array('c' => $temp);  
    }
}

Надеюсь, понятно, что я пытаюсь сделать. Пожалуйста, помогите мне.

1 ответ

  1. Таким образом, вы можете легко добавить элемент в $tables['col']массив. Чтобы добавить что-то в массив, сделайте это:

    $table['cols'][] = 'something';

    В вашем случае ваш код будет выглядеть примерно так:

    $rows = array();
    $table = array();
    $table['cols'] = array(
        array('label' => 'Date', 'type' => 'string')
    );
    
    if ($current == "true") {
        $table['cols'][] = array('label' => 'Charging Current', 'type' => 'number');
    }
    if ($voltage == "true") {
        $table['cols'][] = array('label' => 'Battery Voltage', 'type' => 'number');
    }
    if ($power == "true") {
        $table['cols'][] = array('label' => 'Charging Power', 'type' => 'number');
    }
    if ($rotation == "true") {
        $table['cols'][] = array('label' => 'Rotation', 'type' => 'number');
    }
    );