tr374 0 Denunciar post Postado Outubro 9, 2006 Ola, eu programo alguma coisa em ASP, mas sempre pinta uma coisa ou outra em PHP, tenho uma dúvida que deve ser simples. Quando o array do select for vazio em ASP eu faira assim: <& if faq_listar.EOF then response.write("nada encontrou") end if &>'o EOF me diz que o array está vazio Em PHP, com select abaixo, como faço isso? Na verdade não sei onde colocar o if e não sei qual é a variavel ou array que vem vazia no exemplo abaixo: $sql_pdt_exe = pg_query($dbconn,$sql_lns) or die("erro");for($nl=0;$nl<pg_num_rows($sql_pdt_exe);$nl++){$arr=pg_fetch_array($sql_pdt_exe,$nl); echo $arr["cidade"]; Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Outubro 9, 2006 pg_num_rows você ve o numero de linhas retornadas, dai você pode testar com if se pg_num_rows for maior que 0(zero) e no loop você pode fazer assim: while(pg_fetch_array($sql_pdt_exe)) { } que o loop ira pegar todas as linhas ate terminar Compartilhar este post Link para o post Compartilhar em outros sites
tr374 0 Denunciar post Postado Outubro 9, 2006 opa, legal, vou tentar o if no pg_num_rows, obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
tr374 0 Denunciar post Postado Outubro 9, 2006 Depois do $sql_pdt_exe = pg_query($dbconn,$sql_lns) or die("erro"); e antes do loop for: Assim deu erro if (pg_num_rows($sql_pdt_exe)=0){echo "teste";} Assim tmb deu erro if ($teste = pg_num_rows($sql_pdt_exe)=0){echo $teste;} Fatal error: Can't use function return value in write context in /usr/local/Virtual_Domains Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Outubro 9, 2006 ou para testar se teve retorno if (pg_num_rows($sql_pdt_exe) > 0){ echo "teste"; } Compartilhar este post Link para o post Compartilhar em outros sites
tr374 0 Denunciar post Postado Outubro 9, 2006 depois do for tentei: echo $arr;e imprimiu a palavra "Array" em todos os registros.echo $pg_num_rows;e deu o erro: Notice: Undefined variable: pg_num_rowsmas quando o array é zero não aparece nada, claro, por estar depois do for. faça assim: if (pg_num_rows($sql_pdt_exe)==0){echo "teste";} Tentei conforme acima e deu certinho agora, valeuzão!!! Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Outubro 9, 2006 Nao existe essa variavel $pg_num_rows; por isso que deu erro e um array você deve exibilo dentro de um loop e ir pegando um por um para teste e exibir tudo faça assim: print_r($arr); Compartilhar este post Link para o post Compartilhar em outros sites
tr374 0 Denunciar post Postado Outubro 9, 2006 Nao existe essa variavel $pg_num_rows; por isso que deu erroe um array você deve exibilo dentro de um loop e ir pegando um por umpara teste e exibir tudo faça assim:print_r($arr);Fabyio, consegui fazer conforme seu penultimo post. Obrigado tmb, pela dica do print_r($arr); Compartilhar este post Link para o post Compartilhar em outros sites