mbpp 2 Denunciar post Postado Abril 1, 2013 Oi tudo bem? Espero ter uma ajuda num problema, tenho uma search form que faz a pesquisa por todas as localizacoes na minha base dados e nos registos de alojamentos, nas localizações tenho 3 tabelas sendo cada tabela um nivel, e na tabelas dos alojamentos tenho as 3 colunas das localizacoes onde tem as 3 localizações a que pertence. Agora é o seguinte, eu nas 2 localizacoes tenho as localizaçoes por string e a outra localização que é a localizaçao pai é por id na tabela dos alojamentos. Se reparem na query abaixo: $sql= "SELECT * FROM hostels WHERE tipo_hostel LIKE '".$tipo_hostel."' OR distrito LIKE '".$alojamento."' OR freguesia LIKE '".$alojamento."' OR concelho LIKE '".$alojamento."' OR hostel_titulo LIKE '".$alojamento."'"; A search form funciona bem, mas o problema é que se procurar na search por nome de distrito ele não me encontra na tebala "hostels", isso porque a coluna "distrito" tem só o "id" que está ligado ao nome, como poderei fazer com que quando procuro pela nome do distrito ele procure também a que id na coluna "distrito" está relacionado na tabela "distritos"? Abaixo deixo como está as tabelas distritos - id; - nome; hostels - tipo_hostel (está em texto) - distrito (int) - freguesia;(está em texto) - concelho(está em texto) - hostel_titulo (está em texto) abraço Compartilhar este post Link para o post Compartilhar em outros sites
Gui0 2 Denunciar post Postado Abril 1, 2013 Não sei se entendi direito, mais você quer pesquisa pelo nome do distrito? Se for, tenta isso SELECT * FROM hostels INNER JOIN distritos ON hostels.distrito = distritos.id WHERE distritos.nome LIKE '%sao%paulo%'; Compartilhar este post Link para o post Compartilhar em outros sites
mbpp 2 Denunciar post Postado Abril 12, 2013 Não entendo o problmea, o queyr, funciona, eexperimentei no phpmyadmin, mas quando implemento no meu search form ele não me traz os resultados, so traz de no GET vier o id mas nao o nome que o id que se refere, abaixo deixo o meu codigo, espero que saibam qual poderá ser o problema: search: <form action="resultados.php" enctype="multipart/form-data" method="GET" class="fm NiceIt srch"> <h2>Região:</h2> <div class="selectbox clearfix"> <select name="distrito" class="distrito"> <option name="distrito" selected="selected">--Região--</option> <?php $sql_local=mysql_query("select * from distritos order by ID ASC"); while($row=mysql_fetch_array($sql_local)) { echo '<option value="'.$row['NOME'].'">'.$row['NOME'].'</option>'; } ?> </select> </div> <div class="search-button clearfix"> <input type="submit" name="search" value="Pesquisar Alojamento" class="search-property" /> </div> </form> resultados.php // Guardar a informacao numa variavel //Buscar informacao Base Dados $alojamento = $_GET['alojamento']; $tipo_hostel = $_GET['tipo_hostel']; $distrito = $_GET['distrito']; $sql= "SELECT * FROM hostels INNER JOIN distritos ON hostels.distrito = distritos.ID WHERE distritos.NOME = '$distrito'"; $consulta_hostel = mysql_query($sql); if($consulta_hostel){ while($mostrar_hostel = mysql_fetch_array($consulta_hostel)){ $titulo_hostel = $mostrar_hostel['hostel_titulo']; $id_hostel = $mostrar_hostel['id_hostel']; $tipo_hostel = $mostrar_hostel['tipo_hostel']; $freguesia = $mostrar_hostel['freguesia']; $concelho = $mostrar_hostel['concelho']; $distrito = $mostrar_hostel['distrito']; $texto = $mostrar_hostel['texto']; $sql3 = "(SELECT * FROM distritos WHERE ID = '$distrito')"; $sql_imagem ="SELECT * FROM imagens WHERE id_hostel = $id_hostel"; $consulta_imagem = mysql_query($sql_imagem); $mostrar_imagem = mysql_fetch_array($consulta_imagem); $imagem = $mostrar_imagem['file']; $consulta_distrito = mysql_query($sql3); $mostrar_dis = mysql_fetch_array($consulta_distrito); $distrito_nome = $mostrar_dis['NOME']; $url = "$distrito_nome-$concelho-$freguesia-$titulo_hostel-$id_hostel"; $seo = strtolower($url); //Strip any unwanted characters $seo = preg_replace("/&([a-z])[a-z]+;/i", "$1", htmlentities($seo)); //Clean multiple dashes or whitespaces $seo = preg_replace("/[\s-]+/", " ", $seo); //Convert whitespaces and underscore to dash $seo = preg_replace("/[\s_]/", "-", $seo); echo " <li class=\"item\"> <div class=\"thumbnail\"> <a href=\"turismorural-$seo.html\"> <img src=\"$imagem\" height=\"100\" /> </a> </div> <p class=\"name\"><a class=\"bold\" href=\"turismorural-$seo.html\"><span>$titulo_hostel</span></a></p> <p class=\"capacity\"><strong>2-14</strong> pessoas</p> <p class=\"price\"><span class= \"sum\">35,00 €</span> pax/noite</p> <p class=\"geo\">$distrito_nome, $concelho, $freguesia</p> <p class=\"slogan\">$texto</p> </li>"; } }else{ echo "No accomodations"; } Funciona afinal, estava editando mas noutra pagina kkk. obrigado Compartilhar este post Link para o post Compartilhar em outros sites