Ir para conteúdo

POWERED BY:

Arquivado

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

tr374

cosulta e foreach

Recommended Posts

Estou fazendo a consulta abaixo mas não consigo fazer o foreach.<?php $sql_lns = ' SELECT * FROM representantes WHERE estado = '.$estado.' ORDER BY estado'; $sql_lns_exe = pg_query($dbconn,$estado); for($nl=0;$nl<pg_num_rows($estado);$nl++){ echo $nl_cidade;}?> mas paresenta os seguintes erros:Warning: pg_query() [function.pg-query]: Query failed: ERROR: syntax error at or near "SP" at character 1 in /usr/local/Virtual_Domains/carmixcalotas.com.br/WWW/html/site_mapa.php on line 15Warning: pg_num_rows(): supplied argument is not a valid PostgreSQL result resource in /usr/local/Virtual_Domains/carmixcalotas.com.br/WWW/html/site_mapa.php on line 19Obrigado a quem puder me ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso é erro na query... a parte php está OK

 

pra facilitar sua vida, faz assim,

 

<?php$sql_lns = 'SELECT *FROM representantesWHERE estado = '.$estado.'ORDER BY estado';// aqui você vai ter sua query impressa na tela// assim você testa ela direto no banco pra ver qual o erro da query... e corrigirecho $sql_Ins; exit;$sql_lns_exe = pg_query($dbconn,$estado);for($nl=0;$nl<pg_num_rows($estado);$nl++){echo $nl_cidade;}?>

abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz assim$sql_lns = 'SELECT *FROM representantesWHERE estado = '.$estado.'ORDER BY estado';$sql_lns_exe = pg_query($dbconn,$sql_Ins);for($nl=0;$nl<pg_num_rows($sql_Ins_exe);$nl++){echo pg_fetch_result($sql_Ins_exe, $nl, "NOME_DO_CAMPO")."<br/>";}?> Testa e post o resultadoAdailton

fiz exatamente como está acima é deu o erro abaixo:Notice: Undefined variable: sql_Ins in /usr/local/Virtual_Domains/carmixcalotas.com.br/WWW/html/site_mapa.php on line 16Warning: pg_query() [function.pg-query]: Query failed: in /usr/local/Virtual_Domains/carmixcalotas.com.br/WWW/html/site_mapa.php on line 16Notice: Undefined variable: sql_Ins_exe in /usr/local/Virtual_Domains/carmixcalotas.com.br/WWW/html/site_mapa.php on line 18Warning: pg_num_rows(): supplied argument is not a valid PostgreSQL result resource in /usr/local/Virtual_Domains/carmixcalotas.com.br/WWW/html/site_mapa.php on line 18

isso é erro na query... a parte php está OKpra facilitar sua vida, faz assim,

<?php$sql_lns = 'SELECT *FROM representantesWHERE estado = '.$estado.'ORDER BY estado';// aqui você vai ter sua query impressa na tela// assim você testa ela direto no banco pra ver qual o erro da query... e corrigirecho $sql_Ins; exit;$sql_lns_exe = pg_query($dbconn,$estado);for($nl=0;$nl<pg_num_rows($estado);$nl++){echo $nl_cidade;}?>
abraço!
Fiz examtente como acima e obtive o erro abaixo:Notice: Undefined variable: sql_Ins in /usr/local/Virtual_Domains/carmixcalotas.com.br/WWW/html/site_mapa.php on line 18a linha 18 é : echo $sql_Ins; exit;Obrigado, já sei que o problema é na sql, alguma sujestão?Estarei fazendo outros testes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele não encontra a variável, verifica se o I "i maiúsculo" em $sql_Ins não foi trocado por l "L minúsculo".[]sAnderson Mello

isso é erro na query... a parte php está OKpra facilitar sua vida, faz assim,

<?php$sql_lns = 'SELECT *FROM representantesWHERE estado = '.$estado.'ORDER BY estado';// aqui você vai ter sua query impressa na tela// assim você testa ela direto no banco pra ver qual o erro da query... e corrigirecho $sql_Ins; exit;$sql_lns_exe = pg_query($dbconn,$estado);for($nl=0;$nl<pg_num_rows($estado);$nl++){echo $nl_cidade;}?>
abraço!
Fiz examtente como acima e obtive o erro abaixo:Notice: Undefined variable: sql_Ins in /usr/local/Virtual_Domains/carmixcalotas.com.br/WWW/html/site_mapa.php on line 18a linha 18 é : echo $sql_Ins; exit;Obrigado, já sei que o problema é na sql, alguma sujestão?Estarei fazendo outros testes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

$sql_lns_exe = pg_query($dbconn,$sql_Ins);
Não é $sql_Ins, é $sql_lns

Testa que deve dar certo.

 

Muda tudo que tiver $sql_Ins pra $sql_lns.

Compartilhar este post


Link para o post
Compartilhar em outros sites

troquei, ficou assim:

$sql_lns = 'SELECT *FROM representantesWHERE estado = '.$estado.'';echo $sql_lns;$sql_pdt_exe = pg_query($dbconn,$sql_lns) or die(pg_error($dbconn));echo $sql_pdt_exe;for($nl=0;$nl<pg_num_rows($estado);$nl++){echo $ln_cidade;

... mas ainda com alguns erros, já imprimiu a SQL e parece que não há coluna SP, mas, não há mesmo!, pois eu quero selecionar todos registros que tenha "SP" na coluna "estado":

[erro]

SELECT * FROM representantes WHERE estado = SP

Warning: pg_query() [function.pg-query]: Query failed: ERROR: column "sp" does not exist in /usr/local/Virtual_Domains/carmixcalotas.com.br/WWW/html/site_mapa.php on line 16

 

Fatal error: Call to undefined function pg_error() in /usr/local/Virtual_Domains/carmixcalotas.com.br/WWW/html/site_mapa.php on line 16[/erro]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta assim:

SELECT * FROM representantes WHERE estado = "SP";

 

Fatal error: Call to undefined function pg_error() in /usr/local/Virtual_Domains/carmixcalotas.com.br/WWW/html/site_mapa.php on line 16

Essa função pg_error() eu acho que não existe

 

No final deve ficar assim:

$sql_lns = "SELECT *FROM representantesWHERE estado = $estado";echo $sql_lns;$sql_pdt_exe = pg_query($dbconn,$sql_lns) or die("erro");echo $sql_pdt_exe;for($nl=0;$nl<pg_num_rows($estado);$nl++){echo $ln_cidade;

Compartilhar este post


Link para o post
Compartilhar em outros sites

..........

$sql_lns = "SELECT *FROM representantesWHERE estado = $estado";echo $sql_lns;$sql_pdt_exe = pg_query($dbconn,$sql_lns) or die("erro");echo $sql_pdt_exe;for($nl=0;$nl<pg_num_rows($estado);$nl++){echo $ln_cidade;
Tentei conforme acima, mas continua como o erro abaixo,

vejam que o erro fala que não existe a coluna "sp":

 

SELECT * FROM representantes WHERE estado = SP

Warning: pg_query() [function.pg-query]: Query failed: ERROR: column "sp" does not exist in /usr/local/Virtual_Domains/carmixcalotas.com.br/WWW/html/site_mapa.php on line 16

erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei assim:

$sql_lns = 'SELECT *FROM representantesWHERE estado = '$estado'';echo $sql_lns;$sql_pdt_exe = pg_query($dbconn,$sql_lns) or die("erro");

 

até linha 15 está ok, pois imprimi o selec abaixo

SELECT * FROM representantes WHERE estado = $estado

 

mas continuou com erro:

Warning: pg_query() [function.pg-query]: Query failed: ERROR: syntax error at or near "$" at character 49 in /usr/local/Virtual_Domains/carmixcalotas.com.br/WWW/html/site_mapa.php on line 16

erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

$sql_lns = "SELECT *FROM representantesWHERE estado = '$estado'";
Começa com aspas duplas depois aspas simples.

 

Ou então você pode colocar um \' pra indicar que não quer terminar.

$sql_lns = 'SELECT *FROM representantesWHERE estado = \'$estado\'';

No final de tudo sua busca tem que ficar assim:

SELECT * FROM representantes WHERE estado = 'SP'

Compartilhar este post


Link para o post
Compartilhar em outros sites

$sql_lns = 'SELECT *FROM representantesWHERE estado = \'$estado\'';echo $sql_lns;$sql_pdt_exe = pg_query($dbconn,$sql_lns) or die("erro");echo $sql_pdt_exe;for($nl=0;$nl<pg_num_rows($estado);$nl++){

 

SELECT * FROM representantes WHERE estado = '$estado' Resource id #8

Warning: pg_num_rows(): supplied argument is not a valid PostgreSQL result resource in /usr/local/Virtual_Domains/carmixcalotas.com.br/WWW/html/site_mapa.php on line 18

 

 

 

depois tentei assim:

$sql_lns = "SELECT *FROM representantesWHERE estado = '$estado'";echo $sql_lns;$sql_pdt_exe = pg_query($dbconn,$sql_lns) or die("erro");echo $sql_pdt_exe;for($nl=0;$nl<pg_num_rows($estado);$nl++){

 

e deu o erro:

SELECT * FROM representantes WHERE estado = 'SP' Resource id #8

Warning: pg_num_rows(): supplied argument is not a valid PostgreSQL result resource in /usr/local/Virtual_Domains/carmixcalotas.com.br/WWW/html/site_mapa.php on line 18

 

 

Esta última opção parece que o erro passou para linha 18 que é a do foreach

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem que ser pg_num_rows($sql_pdt_exe), e não pg_num_rows($estado).

 

Como ele vai contar as linhas de $estado sendo que $estado não é um resultado de query :wacko:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigado skimo-solar, já está funcinando!

 

$sql_lns = "SELECT *FROM representantesWHERE estado = '$estado'";$sql_pdt_exe = pg_query($dbconn,$sql_lns) or die("erro");for($nl=0;$nl<pg_num_rows($sql_pdt_exe);$nl++){

Só mais uma coisa, como faço para imprimir os valores?

 

tentei:

// echo $cidade;

// echo $nl_cidade;

// echo $ln_cidade;

echo $lncidade;

 

mas nada funcionou....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui assim:

 

<?php  echo  $arr["cidade"];			 ?>

 

Muito obrigado a todos pela ajudona.

 

Alias, excelente esses site, já adicionei aos meus favoritos.

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.