Boa tarde, estou com um problema ao tentar efetuar um while dentro de um while com 2 sc_select…
O problema é que já utilizei o sc_select(rs, $sql); para o primeiro laço, quando vou utilizar o sc_select(rs2, $sql2); ele não continua,
da um erro com o MoveNext(); do segundo while, se eu utilizar o mesmo nome (sc_select(rs, $sql); | sc_select(rs, $sql2) da certo só que como eu tenho que fechar o segundo laço, acaba fechando o primeiro por estar com o mesmo nome alguém já passou por isso ?
$sql2 = " select alunos.codigo,
substring(alunos.nome from 1 for 12)
from alunos_series
left join alunos on (alunos.codigo = alunos_series.codigo_alunos)
where alunos_series.codigo_series = " . [prm088_codigo_series] . "
and alunos_series.codigo_anos_letivos = " . [prm088_codigo_anos_letivos] . "
order by alunos.nome";
//PEGANDO OS ALUNOS QUE VÃO SAIR NO BOLETIM
sc_select(rs, $sql2);
//verifica se tem algum registro
if ($rs->EOF == true)
{
sc_error_message('Nenhum registro foi encontrado');
sc_error_exit();
}
//lê cada registro
while (!$rs->EOF)
{
$codigo_alunos = $rs->fields[0];
$nome_alunos = $rs->fields[1];
$pdf->Cell(20, 5, $nome_alunos, 1, 0, 'L');
if ($codigo_alunos > 0)
{
$sql_notas = $sql_notas . " from sp_boletim_disciplinas(".$codigo_alunos.", ".
[prm088_codigo_anos_letivos].", ".
[prm088_codigo_series].", 'S')";
sc_select(rs2, $sql_notas);
//verifica se tem algum registro
if ($rs2->EOF == true)
{
sc_error_message('Nenhum registro foi encontrado');
sc_error_exit();
}
//lê cada registro
while (!$rs2->EOF)
{
$media = $rs2->fields[0];
$nota_rp = $rs2->fields[1];
if ($nota_rp == null)
{
$nota_rp = ' ';
}
$pdf->Cell(14, 7, $media . ' ' . $nota_rp, 0, 0, 'C');
//proximo registro
$rs2->MoveNext();
}
//fecha a tabela
$rs2->Close();
}
$pdf->Cell(0, 5, '', 0, 1);
//proximo registro
$rs->MoveNext();
}
//fecha a tabela
$rs->Close();