• 0
Sign in to follow this  
KLeber_Cwb

Pagina De Resultados

Question

Olá galera, sou novo por aqui e também no PHP + Mysql..

Tentei ao máximo evitar de postar a dúvida mas não teve jeito...

Supondo que eu tenha a seguinte tabela de imoveis proveniente de uma busca com um campo select:

____________________________________________________________

|Ref. | Finalidade | Bairro | Endereço | Área | Valor |

| |

|1 |Locação | Portao |Rua Itatiaia,1305 | 191 m2 |R$ 600,00 |

|2 |Locação | Bairro Novo |Rua Piquiri, 1420 | 128 m2 |R$ 800,00 |

|3 |Venda | Agua Verde |Rua Qualquer,10 | 210 m2 | R$ 750,00|

|____________________________________________________________|

Necessito que ao clicar na Referencia, 1, 2, 3, e assim por diante, o link chame a página mostrar_imoveis.php com o imóvel referente ao ID clicado..

O link até chama o ID, mas acredito não estar me dando bem com o SELECT do MYSQL..

não sei se fui bem claro...

Abaixo, o código da página mostrar_imoveis.php que estou tentando implantar:

<?php

include ('conexoes/config.php');

$referencia_imovel = $_POST['referencia_imovel'];

$sql = mysql_query("SELECT * FROM imoveis WHERE referencia_imovel ='referencia_imovel'") or die(mysql_error());

$result = mysql_db_query('imoveis', $sql);

$row = mysql_fetch_array($sql);

?>

Resumindo, não sei o que estou fazendo de errado...preciso de um help..

Obrigado..

Share this post


Link to post
Share on other sites

10 answers to this question

Recommended Posts

  • 0

2 Coisas:

A primeira, se você está usando links, você terá que resgastar usando GET e não POST:

$referencia_imovel = $_POST['referencia_imovel'];

passa para:

$referencia_imovel = $_GET['referencia_imovel'];

Segunda coisa, na query... você tem que colocar o $ na frente do referencial_imovel...:

$sql = mysql_query("SELECT * FROM imoveis WHERE referencia_imovel ='referencia_imovel'") or die(mysql_error());

passa para:

$sql = mysql_query("SELECT * FROM imoveis WHERE referencia_imovel ='$referencia_imovel'") or die(mysql_error());

Outra coisa, que não é um erro.. mas não precisa:

$result = mysql_db_query('imoveis', $sql);

$row = mysql_fetch_array($sql);

Você pode usar o mysql_result para pegar o resultado do $sql...

Share this post


Link to post
Share on other sites
  • 0

2 Coisas:

A primeira, se você está usando links, você terá que resgastar usando GET e não POST:

$referencia_imovel = $_POST['referencia_imovel'];

passa para:

$referencia_imovel = $_GET['referencia_imovel'];

Segunda coisa, na query... você tem que colocar o $ na frente do referencial_imovel...:

$sql = mysql_query("SELECT * FROM imoveis WHERE referencia_imovel ='referencia_imovel'") or die(mysql_error());

passa para:

$sql = mysql_query("SELECT * FROM imoveis WHERE referencia_imovel ='$referencia_imovel'") or die(mysql_error());

Outra coisa, que não é um erro.. mas não precisa:

$result = mysql_db_query('imoveis', $sql);

$row = mysql_fetch_array($sql);

Você pode usar o mysql_result para pegar o resultado do $sql...

Alterei da forma que você mencionou, mas mesmo assim o resultado não aparece...

Se eu retirar a parte --WHERE referencia_imovel ='$referencia_imovel'-- se eu clicar em qualquer link da referencia do imovel ele mostra corretamente mas somente o primeiro resultado da tabela.

Então acredito que o erro esteja nesta parte, algo no WHERE que eu esteja fazendo errado.

Share this post


Link to post
Share on other sites
  • 0

Alterei da forma que você mencionou, mas mesmo assim o resultado não aparece...

Se eu retirar a parte --WHERE referencia_imovel ='$referencia_imovel'-- se eu clicar em qualquer link da referencia do imovel ele mostra corretamente mas somente o primeiro resultado da tabela.

Então acredito que o erro esteja nesta parte, algo no WHERE que eu esteja fazendo errado.

Se você tirar o WHERE ele sempre vai buscar a primeira linha pois é o que você está declarando... a sintaxe do WHERE está correta, a única coisa que pode estar dando problema é o nome da coluna estar errado (referencia_imovel) ou o link apontar para uma referência que não existe....

Também de um echo no $referencia_imovel para ver se ele está vindo correto.

Share this post


Link to post
Share on other sites
  • 0

Pior que eu, com meu limitado conhecimento não vi nada de errado.

Abaixo, posto o codigo completo da pagina..

As tabelas estão certas, seus nomes também.

Dei um echo no $referencia_imovel e retornou o valor corretamente.

O problema é que mostra a pagina que preciso "mostra_imovel.php" mas não preenche os campos corretamente com o ID selecionado..

Se alguém puder dar uma verificada, fico no aguardo...

Valeu galera...

<HTML>

<HEAD>

<link rel="stylesheet" type="text/css" href="css/estilos.css">

</head>

<body class="meio">

<?

include ("conexoes/config.php");

$consulta_rapida = $_POST['consulta_rapida'];

$sql = mysql_query("SELECT * FROM imoveis WHERE tipo LIKE '%$consulta_rapida%' ORDER BY 'finalidade'") or die(mysql_error());

$row = mysql_num_rows($sql);

$result = mysql_db_query('imoveis', $sql);

echo "<h5><b>Foram encontrados <font color=\"#ff0000\">\"<b>$row</b>\"</font> imóveis para sua busca: <font color=\"#ff0000\">\"<b>$consulta_rapida</b>\"</font><br></h5>\n";

if(mysql_num_rows($sql))

{

echo "<br><TABLE align=\"right\" border=\"1\" bordercolor=\"#000000\" text=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\n";

echo "<tr bgcolor=\"#CC6600\">\n";

echo "<td width=\"40\"><p><font color=\"#ffffff\"><strong>Ref.</strong></font></p></td>\n";

echo "<td width=\"70\"><p><font color=\"#ffffff\"><strong>Finalidade</strong></font></p></td>\n";

echo "<td width=\"70\"><p><font color=\"#ffffff\"><strong>Bairro</strong></font></p></td>\n";

echo "<td width=\"70\"><p><font color=\"#ffffff\"><strong>Endereço</strong></font></p></td>\n";

echo "<td width=\"45\"><p><font color=\"#ffffff\"><strong>Área</strong></font></p></td>\n";

echo "<td width=\"70\"><p><font color=\"#ffffff\"><strong>Valor</strong></font></p></td>\n";

echo "</tr>\n";

while ($reg = mysql_fetch_array($sql))

{

$id = $reg['referencia_imovel'];

$query = mysql_query ("SELECT * FROM imoveis WHERE '$id'") or die (mysql_error());

$resultado = mysql_query($query);

echo "<tr bgcolor=\"#FFFFFF\">\n";

echo "<td><p align=\"center\"><a href=mostra_imovel.php?id=$id' target='_blank'>

{$reg['referencia_imovel]}</a></p></td>\n";

echo "<td><p>{$reg['finalidade']}</p></td>\n";

echo "<td><p>{$reg['bairro']}</p></td>\n";

echo "<td><p>{$reg['endereco']},{$reg['numero']}</p></td>\n";

echo "<td><p>{$reg['areatotal']} m2</p></td>\n";

echo "<td><p>R$ {$reg['valor']}</p></td>\n";

echo "</tr>\n";

}

echo "</table>\n";

}

else

echo "<br><font color=\"#ff0000\">Nenhum registro encontrado para esta pesquisa.";

?>

</body>

</html>

Share this post


Link to post
Share on other sites
  • 0

A linha:

$query = mysql_query ("SELECT * FROM imoveis WHERE '$id'") or die (mysql_error());

Está errada!, falta a coluna que se refere o argumento... no caso estou assumindo que o campo que guarda as informações do id se chama id...

$query = mysql_query ("SELECT * FROM imoveis WHERE id = '$id'") or die (mysql_error());

Share this post


Link to post
Share on other sites
  • 0

Verdade, estava errada sim.. É que eu havia feito várias alterações pra testar e ver se funcionava...e esqueci de voltar o argumento..

Será que o problema pode estar na página que mostro os resultados ?!

Fora o FORM que é muito grande está desta forma:

<?php

include ('conexoes/config.php');

$selecao = $_GET['referencia_imovel'];

$sql = mysql_query("SELECT * FROM imoveis WHERE referencia_imovel='$selecao'") or die(mysql_error());

$result = mysql_db_query('imoveis', $sql);

$row = mysql_fetch_array($sql);

?>

<?

if(!isset ($referencia_imovel,$row))

?>

E ai vou dando um echo onde preciso dentro do formulario...

Share this post


Link to post
Share on other sites
  • 0

Uma pequena dúvida: QUAL o problema afinal? Ainda é o do post inicial?

Outra coisa, qual o objetivo do:

$result = mysql_db_query('imoveis', $sql);

Não vejo ele ser usado para nada...

Share this post


Link to post
Share on other sites
  • 0

Boa tarde ESerra,

A dúvida ainda é a do Post inicial sim..pois a pagina até chama o link, mas não mostra os resultados no formulario..que é o que comentei no ultimo post.

Quanto ao $result = mysql_db_query('imoveis', $sql);, eu peguei de um outro exemplo para criar a tabela, e como fiz vários testes pra ver a funcionalidade deixei la mesmo ..

Sou novaço em PHP e como tal não mexi porque a principio estava tudo caminhando pra onde e como eu queria...

Criei o form, as tabelas, o link para os ID´s e travei nesta parte de selecionar na tabela o link escolhido.

Agora, retirei a linha desta variável que realmente não tem utilidade...rs

Obrigado.

Share this post


Link to post
Share on other sites
  • 0

o $_GET['referencia_imovel']; está aparecendo na url?

Share this post


Link to post
Share on other sites
  • 0

Ahhhhhh muleeekkk..rssss

DESCOBRI O PROBLEMA...

Era na página que eu mostrava os imoveis...."mostra_imovel.php"..

Antes estava declarado desta forma:

$selecao = $_GET['referencia_imovel'];

$sql = mysql_query("SELECT * FROM imoveis WHERE referencia_imovel=$selecao'") or die(mysql_error());

$row = mysql_fetch_array($sql);

?>

<?

if(!isset ($referencia_imovel,$row))

?>

E agora mudei para esta:

$selecao = $_GET['id];

$sql = mysql_query("SELECT * FROM imoveis WHERE id='$selecao'") or die(mysql_error());

$row = mysql_fetch_array($sql);

<?

if(!isset ($id,$row))

Mudei a selecao...que antes estava apontando para a referencia do imóvel..e não para o ID...

Obrigado ESerra pelos toques sobre os erros desde o começo do script..

E aguarde, muitas dúvidas ainda surgirão...e se o Deus google não resolver recorrerei ao fórum...

E no que eu puder ajudar com meu (ainda que) limitado conhecimento estarei acompanhando os tópicos..

Obrigado mais uma vez...

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this