jrpamplona Postado Julho 18, 2017 Denunciar Share Postado Julho 18, 2017 OLÁ, ESTOU COM UMA PROBLEMA AO REALIZAR UMA CONSULTA NO MYSQL, POIS RETORNA APENAS UM REGISTRO NA FUNCAO (nomeExames e na nomeRiscos.) public function nomeExames($id) { $exame = array(); $exame = unserialize($id); $arr = explode(";", $exame); foreach ($arr as $idexame) { $objExames = new EXT_Exames_complementares(); $objExames->select($idexame); return ($objExames->exames_complementares_nome); } } public function nomeRiscos($id) { $riscos = array(); $riscos = unserialize($id); $arr = explode(";", $riscos); foreach ($arr as $idriscos) { $objRiscos = new EXT_Riscos(); $objRiscos->select($idriscos); return ($objRiscos->riscos_nome); } } public function selectFuncao($id) { $strSQL = "select * from pcmso_riscos where pcmso_id_INT = $id"; $this->database->Query($strSQL); while($row = $this->database->FetchObject()) { $objRiscos = new EXT_Riscos(); //$objRiscos->select($idriscos_fisico); $objFuncao = new EXT_Funcao(); $objFuncao->select($row->funcao_id_INT); $grid.= "<tr class=label-inverse> <td><h3>FUNÇÃO</h3></td> <td><h3>".$objFuncao->funcao_nome."</h3></td> </tr> <tr> <td colspan=\"2\" class=label-inverse>RISCOS</td> </tr> <tr> <td>1) FISICO</td> <td>".$this->nomeRiscos($row->pcmso_riscos_fisico)."</td> </tr> <tr> <td>2) QUIMICO</td> <td>".$this->nomeRiscos($row->pcmso_riscos_quimico)."</td> </tr> <tr> <td>3) BIOLOGICO</td> <td>".$this->nomeRiscos($row->pcmso_riscos_biologico)."</td> </tr> <tr> <td>4) ERGONOMICO</td> <td>".$this->nomeRiscos($row->pcmso_riscos_ergonomico)."</td> </tr> <tr> <td>5) ACIDENTE</td> <td>".$this->nomeRiscos($row->pcmso_riscos_acidente)."</td> </tr> <tr> <td colspan=\"2\" class=label-inverse>EXAMES</td> </tr> <tr> <td>1) ADMISSIONAL</td> <td>".$this->nomeExames($row->pcmso_exames_admissional)." </td> </tr> <tr> <td>2) PERIODICO</td> <td>".$this->nomeExames($row->pcmso_exames_periodico)."</td> </tr> <tr> <td>3) DEMISSIONAL</td> <td>".$this->nomeExames($row->pcmso_exames_demissional)."</td> </tr> "; } return $grid; } } // Class : Fim Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 lowys Postado Julho 18, 2017 Denunciar Share Postado Julho 18, 2017 Olá! Os métodos nomeExames e nomeRiscos recebem uma id, e id é único, por isso um único retorno Ainda que se passasse várias ids no parâmetro, o return dentro do foreach retorna apenas o primeiro resultado encontrado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jrpamplona Postado Julho 18, 2017 Autor Denunciar Share Postado Julho 18, 2017 Obrigado Lowys pela ajuda, mas, como você acha que devo proceder para retornar todos os registros? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 lowys Postado Julho 19, 2017 Denunciar Share Postado Julho 19, 2017 Você receber dois tipos de parâmetro: Numérico(uma id apenas) ou Array(várias ids) Verifique se o parâmetro é numérico ou array Se for numérico, retorne um único resultado Se for Array, use um WHERE IN para especificar todas as ids do array implodido com vírgula como glue Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
jrpamplona
OLÁ, ESTOU COM UMA PROBLEMA AO REALIZAR UMA CONSULTA NO MYSQL, POIS RETORNA APENAS UM REGISTRO NA FUNCAO (nomeExames e na nomeRiscos.)
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.