Portal Imobiliário, como retornar com links do banco de dados?
Bom dia pessoal estou fazendo uma busca com filtro para um portal imobiliário, e estou com uma dificuldade básica porém não consigo resolver, vejam só:
Este é o Banco de dados:
Este a página que faz o trabalho:
Quando é feita a busca ele retorna o Título que esta no banco de dados como texto, como eu poderia tornar este campo um link, manual mesmo, aqui o final do código:
echo '<h1>Desculpe, mais sua busca, não retornou resultados</h1>';
}else{
while($linhaImovel = mysql_fetch_array($seleciona_imovel)){
echo $linhaImovel['titulo'];
}
Existe uma forma de criar um campo url no banco e ele aparecer na página do resultado como LINK? trazendo http://www.xxxxxxx.xxx.xx?
Obrigado à todos
Este é o Banco de dados:
-- phpMyAdmin SQL Dump -- version 3.4.3.2 -- http://www.phpmyadmin.net -- -- Servidor: 127.0.0.1 -- Tempo de Geração: 02/11/2011 às 18h45min -- Versão do Servidor: 5.5.15 -- Versão do PHP: 5.3.8 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; -- -- Banco de Dados: `imoveis` -- -- -------------------------------------------------------- -- -- Estrutura da tabela `bairros` -- CREATE TABLE IF NOT EXISTS `bairros` ( `id` int(11) NOT NULL AUTO_INCREMENT, `bairro` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ; -- -- Extraindo dados da tabela `bairros` -- INSERT INTO `bairros` (`id`, `bairro`) VALUES (1, 'Copa Cabana'), (2, 'Farol da Barra'); -- -------------------------------------------------------- -- -- Estrutura da tabela `imoveis` -- CREATE TABLE IF NOT EXISTS `imoveis` ( `id` int(11) NOT NULL AUTO_INCREMENT, `tipo` int(11) NOT NULL, `bairro` int(11) NOT NULL, `titulo` varchar(255) NOT NULL, `preco` decimal(10,2) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ; -- -- Extraindo dados da tabela `imoveis` -- INSERT INTO `imoveis` (`id`, `tipo`, `bairro`, `titulo`, `preco`) VALUES (1, 1, 1, 'Um duplex em copa cabana', '17000.00'), (2, 2, 1, 'Uma casa em copa cabana', '20000.00'); -- -------------------------------------------------------- -- -- Estrutura da tabela `tipo` -- CREATE TABLE IF NOT EXISTS `tipo` ( `id` int(11) NOT NULL AUTO_INCREMENT, `tipo` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; -- -- Extraindo dados da tabela `tipo` -- INSERT INTO `tipo` (`id`, `tipo`) VALUES (1, 'duplex'), (2, 'Casa'), (3, 'Apartamento'); /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Este a página que faz o trabalho:
<?php $conectar = mysql_connect('localhost','root','') or die(mysql_error()); if($conectar){ $banco = mysql_select_db('imoveis'); } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Listar Imoveis</title> </head> <body> <form action="" method="post" enctype="multipart/form-data"> <span>Tipo</span><br /> <select name="tipo"> <option value="" selected="selected">Selecione o tipo...</option> <?php $pega_tipos = mysql_query("SELECT * FROM tipo ORDER BY id DESC"); if(mysql_num_rows($pega_tipos) == 0){ echo '<option value="">Não foram encontrados tipos ainda</option>'; }else{ while($linha = mysql_fetch_array($pega_tipos)){ echo '<option value="'.$linha['id'].'">'.$linha['tipo'].'</option>'; } } ?> </select><br /> <span>Bairro</span><br /> <select name="bairro"> <option value="" selected="selected">Selecione o bairro...</option> <?php $pega_bairro = mysql_query("SELECT * FROM bairros ORDER BY id DESC"); if(mysql_num_rows($pega_bairro) == 0){ echo '<option value="">Não foram encontrados bairros ainda</option>'; }else{ while($linhaB = mysql_fetch_array($pega_bairro)){ echo '<option value="'.$linhaB['id'].'">'.$linhaB['bairro'].'</option>'; } } ?> </select><br /> <span>Preço</span><br /> <select name="preco"> <option value="" selected="selected">Selecione o preço...</option> <option value="15000">Até 15000</option> <option value="20000">Até 20000</option> <option value="30000">Até 30000</option> <option value="17000">Até 17000</option> </select><br /> <input type="hidden" name="acao" value="enviar" /> <input type="submit" value="buscar" /> </form> <hr /> <?php if(isset($_POST['acao']) && $_POST['acao'] == 'enviar'){ $tipo = $_POST['tipo']; $bairro = $_POST['bairro']; $preco = $_POST['preco']; switch($preco){ case '15000'; $valor = 'AND preco <= 15000'; break; case '20000'; $valor = 'AND preco BETWEEN 15000 AND 20000'; break; case '30000'; $valor = 'AND preco BETWEEN 20000 AND 30000'; break; case '17000'; $valor = 'AND preco BETWEEN 15000 AND 17000'; break; } $seleciona_imovel = mysql_query("SELECT * FROM imoveis WHERE tipo = '$tipo' AND bairro = '$bairro' $valor"); if(mysql_num_rows($seleciona_imovel) == 0){ echo '<h1>Desculpe, mais sua busca, não retornou resultados</h1>'; }else{ while($linhaImovel = mysql_fetch_array($seleciona_imovel)){ echo $linhaImovel['titulo']; } } } ?> </body> </html>
Quando é feita a busca ele retorna o Título que esta no banco de dados como texto, como eu poderia tornar este campo um link, manual mesmo, aqui o final do código:
echo '<h1>Desculpe, mais sua busca, não retornou resultados</h1>';
}else{
while($linhaImovel = mysql_fetch_array($seleciona_imovel)){
echo $linhaImovel['titulo'];
}
Existe uma forma de criar um campo url no banco e ele aparecer na página do resultado como LINK? trazendo http://www.xxxxxxx.xxx.xx?
Obrigado à todos
comentários (0)
suspender
Lista de Respostas:
01/10/2012 4:10pm
(~12 anos atrás)
(~12 anos atrás)
Parece que o que você quer é bem simples. Mas não sei se entendi bem (não dá para olhar esse monte de códigos em um simples forum, certo?)...
Um valor texto virá do banco e você quer criar um link com ele, sendo que esse valor texto é o nome da página que o link acessará, é isso?
Exemplo: o valor de $linhaImovel['titulo'] vem exemplo_1.com.br e você quer que ele apareça como link para www.exemplo_1.com.br , seria isso?
Se for isso, é simples: basta colocar o valor que vem do bd numa tag de link HTML ( <a href=''> ), fazendo, se necessárias, as devidas concatenações para montar o nome certo que vai no href da tag de link.
Um valor texto virá do banco e você quer criar um link com ele, sendo que esse valor texto é o nome da página que o link acessará, é isso?
Exemplo: o valor de $linhaImovel['titulo'] vem exemplo_1.com.br e você quer que ele apareça como link para www.exemplo_1.com.br , seria isso?
Se for isso, é simples: basta colocar o valor que vem do bd numa tag de link HTML ( <a href=''> ), fazendo, se necessárias, as devidas concatenações para montar o nome certo que vai no href da tag de link.
01/10/2012 5:12pm
(~12 anos atrás)
(~12 anos atrás)
Nunca usei o dreamweaver; então, não sei dizer se isso pode, ou não, ser um bug dele ou uma dificuldade sua em usar o dreamweaver para isso.
Os valores de $linhaImovel['titulo'] chegam como? Dê um exemplo (seria já www.exemplo.com.br , ou ainda sem o www, ou vem como uma página interna do sistema, tipo nova_pagina.php, por exemplo?).
Geralmente, você tem que colocar a tag <a no echo:
echo "<a papapa>"
mas também, nesse echo, colocar pontos nos lugares certos, para concatenar o que é HTML com as variáveis PHP.
Os valores de $linhaImovel['titulo'] chegam como? Dê um exemplo (seria já www.exemplo.com.br , ou ainda sem o www, ou vem como uma página interna do sistema, tipo nova_pagina.php, por exemplo?).
Geralmente, você tem que colocar a tag <a no echo:
echo "<a papapa>"
mas também, nesse echo, colocar pontos nos lugares certos, para concatenar o que é HTML com as variáveis PHP.
02/10/2012 8:43pm
(~12 anos atrás)
(~12 anos atrás)
Vejamos, vou tentar ser o mais explicativo possível.
O ideal seria vc ter 2 campos: titulo e link ( por exemplo )
Dai vc poderia fazer assim :
echo '<h1>Desculpe, mais sua busca, não retornou resultados</h1>';
}else{
while($linhaImovel = mysql_fetch_array($seleciona_imovel)){
$imovel=$linhaImovel['titulo'];
$link=$linhaImovel['link'];
echo '<a href="'.$link.'">'.$imovel.'</a>';
}
Ou seja, para facilitar e ficar mais limpo, criamos duas variáveis e depois fazemos a mistura do php com o html mais ordenadamente, pois o que chegaria ao navegador seria :
<a href="linkdobancodedados.html">titulodobancodedados</a>
O ideal seria vc ter 2 campos: titulo e link ( por exemplo )
Dai vc poderia fazer assim :
echo '<h1>Desculpe, mais sua busca, não retornou resultados</h1>';
}else{
while($linhaImovel = mysql_fetch_array($seleciona_imovel)){
$imovel=$linhaImovel['titulo'];
$link=$linhaImovel['link'];
echo '<a href="'.$link.'">'.$imovel.'</a>';
}
Ou seja, para facilitar e ficar mais limpo, criamos duas variáveis e depois fazemos a mistura do php com o html mais ordenadamente, pois o que chegaria ao navegador seria :
<a href="linkdobancodedados.html">titulodobancodedados</a>
01/10/2012 4:54pm
(~12 anos atrás)
(~12 anos atrás)
Jayme é exatamente isso que eu quero fazer uso dreamweaver para os códigos e ele me diz que há erro em todas as formas que eu ponho estas tags, pelo que entendi seria colocar o valor de echo nesta tag mas não funciona veja o que fiz:
(esta é alinha que traz um valor do banco em texto
echo $linhaImovel['titulo'];
ai faço o seguinte com as tags href:
<a href='$linhaImovel['titulo']'>;
tentei de várias formas mas não acerto, bah! teria alguma sugestão?
(esta é alinha que traz um valor do banco em texto
echo $linhaImovel['titulo'];
ai faço o seguinte com as tags href:
<a href='$linhaImovel['titulo']'>;
tentei de várias formas mas não acerto, bah! teria alguma sugestão?
01/10/2012 8:06pm
(~12 anos atrás)
(~12 anos atrás)
creio que o mais prático seria chegar do banco apenas "pagina.html" mas para mim seria de qualquer forma fácil de alimentar o banco,
mesmo que viesse completo "http://www.site.xxx.xx/pagina.html",
o que preciso é fazer funcionar heheh,
o que retorna depois de fazer desta forma:
echo <a href='$linhaImovel['titulo']'>;
é:
SCREAM: Error suppression ignored for
( ! ) Parse error: syntax error, unexpected '<' in C:\wamp\www\busca_imoveis\index.php on line 81
isso ajuda a entender?
mesmo que viesse completo "http://www.site.xxx.xx/pagina.html",
o que preciso é fazer funcionar heheh,
o que retorna depois de fazer desta forma:
echo <a href='$linhaImovel['titulo']'>;
é:
SCREAM: Error suppression ignored for
( ! ) Parse error: syntax error, unexpected '<' in C:\wamp\www\busca_imoveis\index.php on line 81
isso ajuda a entender?
03/10/2012 12:20am
(~12 anos atrás)
(~12 anos atrás)
Preciso transmitir minha alegria em receber ajuda dos amigos aqui do fórum, já esta na minha lista de favoritos e indicações!
Seguindo as ajudas recebidas por:
Jayme A. C. Gimenez
Fábio Moura,
aqui esta o resultado:
https://galloti.eti.br/buscaimoveis.php
Graças aos amigos esta tudo ok, ainda inseri o campo Cidade para ficar exatamente como o projeto pede, para que quiser ver funcionando faça a busca através do filtro:
Duplex - São Paulo - Copa cabana - Até 170000, veja o resultado!
Totalmente agradecido e estou ai para retribuir de alguma forma, Abraço à todos "tópico encerrado"
Seguindo as ajudas recebidas por:
Jayme A. C. Gimenez
Fábio Moura,
aqui esta o resultado:
https://galloti.eti.br/buscaimoveis.php
Graças aos amigos esta tudo ok, ainda inseri o campo Cidade para ficar exatamente como o projeto pede, para que quiser ver funcionando faça a busca através do filtro:
Duplex - São Paulo - Copa cabana - Até 170000, veja o resultado!
Totalmente agradecido e estou ai para retribuir de alguma forma, Abraço à todos "tópico encerrado"
03/10/2012 9:34am
(~12 anos atrás)
(~12 anos atrás)
+ um detalhe que passou despercebido:
Como fazer para a acentuação dos campos retornar sem erro este possui erro em São Paulo pelo caractere veja:
https://galloti.eti.br/buscaimoveis.php
Abraço
Como fazer para a acentuação dos campos retornar sem erro este possui erro em São Paulo pelo caractere veja:
https://galloti.eti.br/buscaimoveis.php
Abraço
14/10/2012 4:22pm
(~12 anos atrás)
(~12 anos atrás)
Gente o negócio ficou feio, hehe
Quando retorna desta forma:
echo <a href='$linhaImovel['titulo']'>;
que funciona perfeitamente, mas tem mais de um valor ele retorna tudo na mesma linha e grudado, como eu poderia dar um espaço de linha após cada valor que volta do banco?
Não tenho idéia de como fazer isto!
Quando retorna desta forma:
echo <a href='$linhaImovel['titulo']'>;
que funciona perfeitamente, mas tem mais de um valor ele retorna tudo na mesma linha e grudado, como eu poderia dar um espaço de linha após cada valor que volta do banco?
Não tenho idéia de como fazer isto!
02/01/2013 9:49pm
(~12 anos atrás)
(~12 anos atrás)
pessoal, por favor estou precisando da ajuda de vocês, ja pesquisei em todo lugar possivel...
estou com dificudade no meu código, ja resolvi coisa pior mas isso n estou conseguindo...
é quase parecido com a necessidade do amigo ai em cima...
eu estou criando um site onde o usuario posta anuncios diarios ele poderá postar quantos anuncios quiser, ja disponibizei uma combo que da a opção de 1 a 10 anuncios de uma vez no caso se ele seleciona 10 os dados digitados no formulario serão gerados 10 vezes... e para cada anuncio gerado será gerado tbm um link.
o eu estou usando o ID dos dados no banco pra gerar o link pois é autoincrement assim o link será somente do determinado assunto... até ai tudo bem
o que preciso é que quando o usuario clicar nesse link o site exiba os dados correspondentes a esse link... eu n consigo fazer isso me ajudem por favor...
estou com dificudade no meu código, ja resolvi coisa pior mas isso n estou conseguindo...
é quase parecido com a necessidade do amigo ai em cima...
eu estou criando um site onde o usuario posta anuncios diarios ele poderá postar quantos anuncios quiser, ja disponibizei uma combo que da a opção de 1 a 10 anuncios de uma vez no caso se ele seleciona 10 os dados digitados no formulario serão gerados 10 vezes... e para cada anuncio gerado será gerado tbm um link.
o eu estou usando o ID dos dados no banco pra gerar o link pois é autoincrement assim o link será somente do determinado assunto... até ai tudo bem
o que preciso é que quando o usuario clicar nesse link o site exiba os dados correspondentes a esse link... eu n consigo fazer isso me ajudem por favor...