Установка условий на основе полей базы данных в циклах PHP / Postgresql WHILE

У меня есть частичное решение, но я нахожусь в тупике о том, как наилучшим образом установить условия, основанные на полях записи, в цикле while? Я пробовал «ЕСЛИ», но получил дальнейшее с переключателем / делом.
Я использую jpgraph с PHP / Postgresql и настроил переключатель для форматирования полос Ганта в соответствии с полем типа записи «rectype». В моем тестовом коде «rectype» может быть «NORMAL» или «GROUP».
Запрос выводит все 7 записей в таблице (проверено с помощью pgadmin3), но диаграмма Ганта выводит только первые 6 из 7 записей таблицы, и форматирование столбцов применяется к предыдущей записи — в моем тестовом примере запись 4 имеет » поле rectype «установлено на» GROUP «, но форматирование» GROUP «применяется к записи 3.

$sql = "SELECT activity, start, due, rectype, title, FROM activity LEFT JOIN project ON activity_projectid = projectid ORDER BY activity_projectid, start";
$result = pg_query($sql);

// Add data to gantt
$i = 0;
while($act = pg_fetch_assoc($result)) {
$type = pg_fetch_result($result,"rectype");
switch($type) {
case "GROUP":
$data = new GanttBar ($i,array($act['activity'],$act['title']),$act['start'],$act['due']);
$data->SetPattern(BAND_SOLID,'black');
break;
case "NORMAL":
$data = new GanttBar ($i,array($act['activity'],$act['title']),$act['start'],$act['due']);
$data->SetPattern(BAND_RDIAG,'red');
break;
}
$graph->Add($data);
$i++;
}

1

Решение

Вы не можете смешивать pg_fetch_assoc с pg_fetch_result, Вы должны использовать:

while($act = pg_fetch_assoc($result)) {
$type = $act['rectype'];
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]