2016-05-28 5 views
0

Я следующий код:Google диаграммы - столбцы этикетки

$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); 
    } 
} 

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

ответ

0

Таким образом, вы можете легко добавить элемент в массив $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'); 
} 
); 
+0

Ха-ха, я просто понял, что вы делаете одно и то же в ваш код ниже для строк. Я уверен, что вы можете сделать то же самое для столбцов. Возможно, я не понимаю, что вы имеете в виду ...? – BizzyBob

+0

Большое спасибо. Это именно то, что мне нужно. Я использую php только время от времени, чтобы подключить некоторые проекты, и я не мог понять, как решить эту проблему. – Witek

Смежные вопросы