RA
Adicionar um FIELD dentro do SQL
Pessoal preciso colocar um FIELD no meu SQL para que eu poça procurar no BD a ficha e esse valor ser utilizado na minha função do gráfico. Onde esta os XXX no WHERE preciso colocar aí meu campo para fazer um TDBUniqueSearch.
- <?php
- class LineChartView extends TPage
- {
- function __construct( $show_breadcrumb = true )
- {
- parent::__construct();
- $html = new THtmlRenderer('app/resources/google_line_chart.html');
- TTransaction::open('projeto');
- $conn = TTransaction::get();
- $linhas = $conn->query('SELECT numero_sessao, peso FROM anamnesecorporal_sessao WHERE id_ficha_analitica=XXXXXX ORDER BY numero_sessao');
- $dados = array();
- $dados[] = ['Sessão','Valor'];
- foreach($linhas as $linha)
- {
- $dados[] = [(string)$linha[0],(float)$linha[1]];
- }
- $panel = new TPanelGroup('Grafico de Resultados');
- $panel->style='width:100%';
- $panel->add($html);
- $html->enableSection('main', array('data' => json_encode($dados),
- 'width' => '40%',
- 'height' => '300px',
- 'ytitle' => 'Dados',
- 'xtitle' => 'Sessão',
- 'title' => 'Resultados',
- 'uniqid' => uniqid()));
- parent::add($panel);
- TTransaction::close();
- }
- }?>
Temta assim: detalhe, troque apóstrofo por aspas duplas.
Deu esse erro:
Object of class AdiantiWidgetWrapperTDBUniqueSearch could not be converted to string
File: appcontrolTestesLineChartView.php : 25
AdiantiCoreAdiantiCoreApplication::errorHandler(4096,Object of class AdiantiWidgetWrapperTDBUniqueSearch could not be converted to string,C:xampphtdocsprojeto_postgresappcontrolTestesLineChartView.php,25,array,AdiantiWidgetTemplateTHtmlRenderer,PDO,AdiantiWidgetContainerTPanelGroup,AdiantiWidgetWrapperTDBUniqueSearch,AdiantiWidgetFormTLabel)
File: libadianticoreAdiantiCoreApplication.php : 62
LineChartView->__construct(LineChartView)
File: engine.php : 23
AdiantiCoreAdiantiCoreApplication::run(1)
File: engine.php : 64
TApplication::run(1)
Código atualizado. Erro acima.
Pelo que eu vejo do código original, vc adicionou TDBUniqueSearch e a exception está nele. Outro detalhe : toda vez que o formulário é aberto o contruct é executado portanto o id ainda está nulo. A não ser que venha de uma session ou de um onEdit.
Mas veja que o problema está em Object of class AdiantiWidgetWrapperTDBUniqueSearch could not be converted to string
Rafael, separe as coisas.
Na função __construct deixe somente a montagem do seu form. Aliás, pelo que vi no código, você não criou nenhum formulário, dessa forma não será possível obter as informações preenchidas pelo usuário no tdbuniquesearch.
A parte da geração do gráfico deve ficar em outra função, que só será chamada após clicar em um botão.
Outra coisa, como seu sql é simples, evitar escrevê-lo manualmente. Utilize os recursos do framework para obter as informações desejadas. Segue abaixo modelo de estrutura:
Blz, vou verificar. Obrigado.