Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

tr374

IF quando o array do select for vazio em PHP

Recommended Posts

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

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.