Ir para conteúdo
Fórum Script Brasil
  • 0

Select no Postgres


Adenison Santos

Pergunta

Estou tentando fazer o select em uma tabela no postgres e exibir os dados em colunas.

Aparece essa mensagem de erro:

Parse error: syntax error, unexpected $end in /home/freehost/t35.com/p/o/polos/Teste/Constanta/preço.php on line 17

o codigo usado na query é esse:

<?php

if(!@($conexao = pg_connect("host=postgresql01.constanta.com.br dbname=constanta1 port=5432 user=constanta1 password=123456"))) {
   print "Não foi possível estabelecer uma conexão com o banco de dados.";
} else { 
     $query = "select * from listaprecos";
     pg_query($conexao, $query); 

   /* Escreve resultados até que não haja mais linhas na tabela */ 
   for($i=0; $consulta = @pg_fetch_array($query, $i); $i++) { 
      print "Grupo:".$consulta['grupo']." - Local: ".$consulta['local']."<br>"; " - Descrição: ".$consulta['descricao']." - PRCVEN: ".$consulta['prcven']." - Saldo: ".$consulta['saldo']."
       } 
    }  
}       
      pg_close($conexao); 
      
?>

Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0

Adenilson,

No seu código, estava faltando um ; no final da linha e tinha um } a mais.

teste ai,

<?php 
if(!@($conexao = pg_connect("host=postgresql01.constanta.com.br dbname=constanta1 port=5432 user=constanta1 password=123456"))) 
{
   print "Não foi possível estabelecer uma conexão com o banco de dados.";
} 
else 
{
     $query = "select * from listaprecos";
     pg_query($conexao, $query);

   /* Escreve resultados até que não haja mais linhas na tabela */
   for($i=0; $consulta = @pg_fetch_array($query, $i); $i++) 
   {
      print "Grupo:".$consulta['grupo']." - Local: ".$consulta['local']."<br>"; " - Descrição: ".$consulta['descricao']." - PRCVEN: ".$consulta['prcven']." - Saldo: ".$consulta['saldo'];
   }
   
   pg_close($conexao);
}
?>

Link para o comentário
Compartilhar em outros sites

  • 0

Adenilson,

Modifiquei seu código, faça um teste se desta forma vai funcionar.

<?php 
if(!@($conexao = pg_connect("host=postgresql01.constanta.com.br dbname=constanta1 port=5432 user=constanta1 password=123456"))) 
{
   print "Não foi possível estabelecer uma conexão com o banco de dados.";
} 
else 
{
     $query = "select * from listaprecos";
     
     

     $result = pg_query($conexao, $query);

    /* Retonar um array associativo correspondente a cada linha da tabela */
     while($consulta = pg_fetch_assoc($result))
     {
       print "Grupo: " .$consulta['grupo'] . " - ";
       print "Local: ".$consulta['local']."<br />";
       print " - Descrição: ".$consulta['descricao'] . " - ";
       print "PRCVEN: ".$consulta['prcven']." - ";
       print "Saldo: ".$consulta['saldo'];
     }
    
     pg_close($conexao);
}
?>

Editado por Romero Dias
Link para o comentário
Compartilhar em outros sites

  • 0

Ainda continua em branco cara..

Acesse esse endereço e veja como fica: http://polos.t35.com/Teste/Constanta/preço.php

É estranh, pois ele se conecta, mais não exibe nada, nem mensagem de erro..

Alguém tem idéia do que estar acontecendo?

já esta vencendo o prazo de entrega ara o cliente.. :(

Editado por Adenison Santos
Link para o comentário
Compartilhar em outros sites

  • 0

A página provavelmente está em branco devido a um loop infinito.

Isso acontece pois deve haver algum erro no seu while.

Faça o seguinte:

$rows = pg_num_rows($result);
for($x=0;$x<$rows;$x++)
     {
       $consulta = pg_fetch_assoc($result);
       print "Grupo: " .$consulta['grupo'] . " - ";
       print "Local: ".$consulta['local']."<br />";
       print " - Descrição: ".$consulta['descricao'] . " - ";
       print "PRCVEN: ".$consulta['prcven']." - ";
       print "Saldo: ".$consulta['saldo'];
     }
no lugar de:
while($consulta = pg_fetch_assoc($result))
     {
       print "Grupo: " .$consulta['grupo'] . " - ";
       print "Local: ".$consulta['local']."<br />";
       print " - Descrição: ".$consulta['descricao'] . " - ";
       print "PRCVEN: ".$consulta['prcven']." - ";
       print "Saldo: ".$consulta['saldo'];
     }

E veja se resolva.

Link para o comentário
Compartilhar em outros sites

  • 0

FIT,

O problema foi resolvido..

Minha query estava certa, o problema esta no banco de dados do Cliente que não permitia acesso de ip externo..

O problema agora é outro.... rsrsrs

Criei uma pagina de login pra que antes de verificar a lista de preço o cliente digite uma senha e usuario passado pelo vendederos...

criei a tela de login assim:

<html>
<head>
<title>Login</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form id="login" method="post" action="senha.php">
  <div align="center">
    <p><strong><font color="#333333" size="5"><img src="image/logo.gif" width="388" height="299"></font></strong></p>
    <p><strong><font color="#333333" size="5">Tela de Login</font><font color="#333333"><br>
      </font></strong> <br>
      Login: 
      <input type="text" name="usuario" >
      <br>
      Senha:
      <input type="password" name="senha" >
      <br>
      <br>
      <input type="submit" value="Login">
    </p>
  </div>
</form>

</body>
</html>
Minha pagina que exibi os dados ficou dessa forma:
<?
<html>
<head>
  <title>Tabela de Precos</title>
 </head>
<body>
<h1 align="center">Tabela de Pre&ccedil;o</h1>
<div align="center"><br></div>
<?php
$conexao = "host=localhost dbname=constanta1 port=5432 user=postgres password=postgres";
$db = pg_connect($conexao); 

$query = "select * from listaprecos order by grupo, codigo, local ";
$resultado = pg_query($db,$query); 

echo '<table>
        <tr>
          <td>Grupo</td>
          <td>Codigo</td>
          <td>Descricao</td>
          <td>Local</td>
          <td>PrcVen</td>
          <td>Saldo</td>
        </tr>';
while($linha = pg_fetch_array($resultado)) { 
echo '<tr>
          <td>'.$linha[grupo].'</td>
          <td>'.$linha[codigo].'</td>
          <td>'.$linha[descricao].'</td>
          <td>'.$linha[local].'</td>
          <td>'.$linha[prcven].'</td>
          <td>'.$linha[saldo].'</td>
       </tr>';
}
echo '</table>';
pg_close($db); 
?>
</body>
</html>

~To perdido em como iniciar o arquivo senha.php para chegar se o usuario digita é igual o usuario que tem no banco..

Você poderia me dizer que camino seguir?

Editado por Adenison Santos
Link para o comentário
Compartilhar em outros sites

  • 0

Opa, foi mal, é que tenho costume com mysql, porém a lógica é a mesma, independente da linguagem ou base de dados.

A idéia de páginas restritas é a seguinte, o usuário preenche um formulário com login e senha, você recebe esses dados através de post, faz um select na base trazendo a linha aonde o login e a senha são iguais os passados pelo usuario.

Se a busca obter resultado, é porque o login e senha existem e correspondem, sendo assim, é só salvar esses dados em uma sessão ou cookie, e redirecionar para a página restrita. E em todas as páginas restritas, coloque uma verificação, se aquele cookie ou sessão existir, libera a página, caso não exista redireciona para a página de login outra vez.

Em todo caso aqui vai um exemplo legal em postgresql, seguindo exatamente a idéia que passei acima.

http://forum.imasters.uol.com.br/index.php...nha-postgresql/

Pelo que vi, está faltando a parte que consulta na base de dados, se não conseguir posta ai.

Abraços!

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...