Olá pessoal,
Numa aplicação Blank criei o método abaixo que está sendo chamado dentro de um outro método da mesma aplicação, mas esse método está com problemas no While (e eu já vi que esse problema tem acontecido com outras pessoas). Já testei a consulta no banco de dados e os dados estão sendo retornados corretamente, mas não está rolando no scriptcase. Alguém poderia me dar uma luz? Outra coisa, no While, como faria pra verificar campos nulos antes de passar valores pra variável?
CÓDIGO: ##################################################################
function itens($protocolo, $coligada) { $espaco = " ";$sql = "SELECT A.Tarefa_ID, A.Protocolo_ID, A.Setor_ID, B.Setor_Nome, A.Colaborador_ID, C.Colaborador_Nome, A.Documento_ID, D.Documento_Nome, A.Tarefa_Titulo, CASE A.Tarefa_Prioridade WHEN 1 THEN 'Alta' WHEN 2 THEN 'Média' WHEN 3 THEN 'Baixa' ELSE '' END AS PRIORIDADE, CASE A.Tarefa_Situacao WHEN 1 THEN 'Pendente' WHEN 2 THEN 'Aprovado' WHEN 3 THEN 'Arquivado' WHEN 4 THEN 'Devolvido' ELSE '' END AS SITUACAO, CASE A.Tarefa_Ativo WHEN 1 THEN 'Ativo' ELSE 'Inativo' END AS ATIVO, A.Tarefa_Descricao, A.Tarefa_Historico FROM c002_tarefas A INNER JOIN a006_setores B ON (B.Setor_ID = A.Setor_ID) INNER JOIN b001_colaboradores C ON (C.Colaborador_ID = A.Colaborador_ID) INNER JOIN a005_documentos D ON (D.Documento_ID = A.Documento_ID) INNER JOIN c001_protocolo E ON (E.Protocolo_ID = A.Protocolo_ID) WHERE A.Protocolo_ID = $protocolo AND E.Protocolo_Status IN (2, 4) ORDER BY A.Tarefa_ID "; echo $sql; //RODEI O SQL NO BANCO E ESTÁ RETORNANDO TUDO CORRETO sc_lookup(Ds, $sql); if(!empty({Ds})) { $l1 = "<table style='width:100%'> <tr style='background-color:#003366; color:#ffffff;'> <th scope='col'>SETOR</th> <th scope='col'>COLABORADOR</th> <th scope='col'>DOCUMENTO</th> <th scope='col'>TÍTULO DA TAREFA</th> <th scope='col'>PRIORIDADE</th> </tr>"; while (!$ds->EOF) { $id = $ds->fields[0]; $protocoloid = $ds->fields[1]; $setorid = $ds->fields[2]; $setornome = $ds->fields[3]; $colaboradorid = $ds->fields[4]; $colaboradornome = $ds->fields[5]; $documentoid = $ds->fields[6]; $documento = $ds->fields[7]; $titulotarefa = $ds->fields[8]; $prioridade = $ds->fields[9]; $ativo = $ds->fields[10]; $descricao = $ds->fields[12]; $historico = $ds->fields[13];
//COMO FAÇO NESSAS LINHAS PRA VERIFICAR CAMPOS NULOS ANTES DE PASSAR VALORES PARA A VARIÁVEL?
$l2 .= "<tr style='font-weight:normal;'> <th scope='col' style='border:solid 1px gray;'>$setornome</th> <th scope='col' style='border:solid 1px gray;'>$colaboradornome</th> <th scope='col' style='border:solid 1px gray;'>$documento</th> <th scope='col' style='border:solid 1px gray;'>$titulotarefa</th> <th scope='col' style='border:solid 1px gray;'>$prioridade</th> </tr> <tr> <td colspan='5' style='border:solid 1px gray;'>$descricao</td> </tr>"; $ds->MoveNext(); } $ds->Close(); echo "<div style='color:#F00; margin-bottom:10px;'>TAREFAS ENCONTRADAS.</div>$l1 $l2 </table>"; } else if(empty({Ds})) { echo "<div style='color:#F00; margin-bottom:10px;'>NENHUMA TAREFA FOI RETORNADA.</div><table style='width:100%'> <tr style='background-color:#003366; color:#ffffff;'> <th scope='col' style='border:solid 1px #ffffff;'>SETOR</th> <th scope='col' style='border:solid 1px #ffffff;'>COLABORADOR</th> <th scope='col' style='border:solid 1px #ffffff;'>DOCUMENTO</th> <th scope='col' style='border:solid 1px #ffffff;'>TÍTULO DA TAREFA</th> <th scope='col' style='border:solid 1px #ffffff;'>PRIORIDADE</th> </tr> </table>"; };
};
ERRO: ##################################################################
Atenção Trying to get property of non-object Atenção Trying to get property of non-object Atenção Trying to get property of non-object Atenção Trying to get property of non-object Atenção Trying to get property of non-object Atenção Trying to get property of non-object Atenção Trying to get property of non-object Atenção Trying to get property of non-object Atenção Trying to get property of non-object Atenção Trying to get property of non-object Atenção Trying to get property of non-object Atenção Trying to get property of non-object Atenção Trying to get property of non-object Atenção Trying to get property of non-object Atenção Undefined variable: l2Fatal error: Call to a member function MoveNext() on array in /home/mdierpco/public_html/scriptcase/app/Protocolo/relProtocolo/index.php on line 1840
Grato,
Ilano.