Pessoal, bom dia!!
Estou precisando da ajuda de vocês em um código que faz um loop usando sc_select. E preciso exibir os itens de acordo com a quantidade de itens desse select . Vou colocar o codigo aqui para a avaliação de vocês.
//============================================================
// Pega Dados do Paciente, medico, etc… e exibe no cabecalho, ok funcionando
//=====================================================
$check_sql = “SELECT
atendimento.atend_id,
atendimento.data_atendimento,
medicos.medico,
pacientes.nome_paciente,
pacientes.data_nascimento,
setor.setor,
resultado_exames.campo_nome,
resultado_exames.campo_resultado,
resultado_exames.unidade,
resultado_exames.valor_referencia,
exames.descricao_exame,
exames.metodo,
exames.conteudo,
exames.nota_exame,
pacientes.idade,
resultado_exames.id_it_ex_solicitado,
exames.dados_exame
FROM
resultado_exames INNER JOIN atendimento ON resultado_exames.id_it_ex_solicitado = atendimento.atend_id
INNER JOIN exames ON resultado_exames.id_exame = exames.exame_id
INNER JOIN medicos ON atendimento.medico_solicitante = medicos.medico_id
INNER JOIN pacientes ON atendimento.ate_paciente = pacientes.paciente_di
INNER JOIN setor ON atendimento.setor_solicitante = setor.setor_id
WHERE
exames.exame_id = [exame_id] AND resultado_exames.id_it_ex_solicitado = [id_it_ex_solicitado]”;
sc_lookup(rs, $check_sql);
if (isset({rs[0][0]})) // Row found
{
$dtatendimento = {rs[0][1]};
$medico = {rs[0][2]};
$paciente = {rs[0][3]};
$nascimento = {rs[0][4]};
$setor = {rs[0][5]};
$nomecampo = {rs[0][6]};
$resultado = {rs[0][7]};
$unidade = {rs[0][8]};
$referencia = {rs[0][9]};
$nomeexame = {rs[0][10]};
$metodo = {rs[0][11]};
$conteudo = {rs[0][12]};
$nota = {rs[0][13]};
$idade = {rs[0][14]};
$dadosexame = {rs[0][16]};
}
//=========================================================================
// Fazer Select agora para exibir dentro de um loop os dados (itens = resultado do exame
//=========================================================================
// Check for record
$check_sql = "SELECT
id_it_ex_solicitado, id_exame, campo_nome, campo_resultado,
unidade, valor_referencia, data_exame
FROM
resultado_exames
WHERE
(id_it_ex_solicitado = ‘[id_it_ex_solicitado]’) AND
(id_exame = ‘[exame_id]’) ";
sc_select(dataset, $check_sql);
$cpnome = $dataset->fields[2];
$resul = $dataset->fields[3];
$un = $dataset->fields[4];
$refer = $dataset->fields[5];
// Qtde de Registros Retornados.
$QtdeRegistros=$dataset->RecordCount();
//echo "Quantidade de Registros " .$QtdeRegistros;
if ($dataset->EOF) {
sc_error_message(“Nenhum valor foi retornado pelo banco.
”);
} else {
//$dataset->MoveFirst();
while (!$dataset->EOF) {
// Avança para o próximo registro do BANCO DE DADOS.
// echo “Dados do 1o. select” ."$nomecampo . $resultado . $unidade . $referencia
";
// Nao funcionou com esse echo
$cpnome = $dataset->fields[2];
$resul = $dataset->fields[3];
$un = $dataset->fields[4];
$refer = $dataset->fields[5];
$dataset->MoveNext();
// echo "Exibindo… dadosexames la embaixo " .$dadosexame;
}
}
// Limpa tudo até a conexão
$dataset->Close();
//==================================================================\
$conteudo = str_replace(“tagatendimento”, $dtatendimento, $conteudo);
$conteudo = str_replace(“tagmedico”, $medico, $conteudo);
$conteudo = str_replace(“tagnomepaciente”, $paciente, $conteudo);
$conteudo = str_replace(“tagsetor”, $setor, $conteudo);
$conteudo = str_replace(“tagidade”, $idade, $conteudo);
$conteudo = str_replace(“tagexame”, $nomeexame, $conteudo);
$conteudo = str_replace(“tagmetodo”, $metodo, $conteudo);
$conteudo = str_replace(“tagnota”, $nota, $conteudo);
$dadosexame = str_replace(“tagcampo”, $cpnome, $dadosexame);
$dadosexame = str_replace(“tagresultado”, $resul, $dadosexame);
$dadosexame = str_replace(“tagunid”, $un, $dadosexame);
$dadosexame = str_replace(“tagreferencia”, $refer, $dadosexame);
echo “
$conteudo”;
echo "Exibindo… dadosexames la embaixo " .$dadosexame;
O problema e que esta exibindo apenas o ultimo item do select.