Marcelo Mussi Postado Março 6, 2011 Denunciar Share Postado Março 6, 2011 (editado) Boa Tarde,Tenho um simples sistema de busca onde localizo em apenas um banco de dados, gostaria de saber se é possível e caso seja, se podem me ajudar a este código pesquisar em dois bandos de dados ao mesmo tempo?<?php if( isset($_POST['titulo']) ){ // Abre Pesquisa $titulo = $_POST['titulo']; $lista = $_POST['lista']; if ($titulo == "") { echo "<span class=\"atencao\">Você deve escrever um título!</span><br />"; } else { $sql = "SELECT * FROM usuarios WHERE $lista LIKE '%$titulo%' LIMIT 30"; $resultado = mysql_query($sql,$conexao); $linhas = mysql_num_rows($resultado); //echo $sql; //exit; if ($linhas == 0){ echo "<span class=\"atencao\">Não foi localizado nenhum resultado.</span><br />"; } else { echo "<table width=\"600\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">"; echo "<tr>"; echo " <td width=\"10%\" height=\"30\" align=\"center\">Cód</td>"; echo " <td width=\"80%\" align=\"center\">Informações</td>"; echo " <td width=\"10%\" align=\"center\" colspan=\"2\">Ações</td>"; echo "</tr>"; for ( $a = 0; $a < $linhas; $a++ ){ $cod = mysql_result($resultado,$a,"cod"); $nome = mysql_result($resultado,$a,"nome"); $user = mysql_result($resultado,$a,"user"); $email = mysql_result($resultado,$a,"email"); if ($a % 2 == 0) { echo "<tr bgcolor=\"#999999\" height=\"35\">"; } else { echo "<tr bgcolor=\"#FFFFFF\" height=\"35\">"; } echo "<td height=\"35\" align=\"center\"> <strong>$cod</strong> </td>"; echo "<td align=\"left\"> <strong>Nome</strong>:$nome ( <strong>Usuário</strong>: $user )<br /> <strong>E-Mail</strong>: $email </td>"; if($cod == 1) { echo "<td align=\"center\"> - </td>"; echo "<td align=\"center\"> - </td>"; } else { echo "<td align=\"center\"><a href=\"usuarios.php?admin=usuarios_alterar&acao=resgatar&cod=$cod\"><img src=\"../images/editar.gif\" alt=\"Editar\" border=\"0\" /></a></td>"; echo "<td align=\"center\"><a href=\"usuarios.php?admin=usuarios_listagem&acao=ativar&cod=$cod\" onClick=\"return confirm('Você tem certeza que deseja deletar?')\"> <img src=\"../images/excluir.gif\" alt=\"Excluir\" border=\"0\" /></a></td>"; } echo "</tr>"; } echo "</table>"; } } } // Fecha Pesquisa ?> Editado Março 6, 2011 por Marcelo Mussi Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rickayron Postado Março 6, 2011 Denunciar Share Postado Março 6, 2011 Boa Tarde,Tenho um simples sistema de busca onde localizo em apenas um banco de dados, gostaria de saber se é possível e caso seja, se podem me ajudar a este código pesquisar em dois bandos de dados ao mesmo tempo?<?php if( isset($_POST['titulo']) ){ // Abre Pesquisa $titulo = $_POST['titulo']; $lista = $_POST['lista']; if ($titulo == "") { echo "<span class=\"atencao\">Você deve escrever um título!</span><br />"; } else { $sql = "SELECT * FROM usuarios WHERE $lista LIKE '%$titulo%' LIMIT 30"; $resultado = mysql_query($sql,$conexao); $linhas = mysql_num_rows($resultado); //echo $sql; //exit; if ($linhas == 0){ echo "<span class=\"atencao\">Não foi localizado nenhum resultado.</span><br />"; } else { echo "<table width=\"600\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">"; echo "<tr>"; echo " <td width=\"10%\" height=\"30\" align=\"center\">Cód</td>"; echo " <td width=\"80%\" align=\"center\">Informações</td>"; echo " <td width=\"10%\" align=\"center\" colspan=\"2\">Ações</td>"; echo "</tr>"; for ( $a = 0; $a < $linhas; $a++ ){ $cod = mysql_result($resultado,$a,"cod"); $nome = mysql_result($resultado,$a,"nome"); $user = mysql_result($resultado,$a,"user"); $email = mysql_result($resultado,$a,"email"); if ($a % 2 == 0) { echo "<tr bgcolor=\"#999999\" height=\"35\">"; } else { echo "<tr bgcolor=\"#FFFFFF\" height=\"35\">"; } echo "<td height=\"35\" align=\"center\"> <strong>$cod</strong> </td>"; echo "<td align=\"left\"> <strong>Nome</strong>:$nome ( <strong>Usuário</strong>: $user )<br /> <strong>E-Mail</strong>: $email </td>"; if($cod == 1) { echo "<td align=\"center\"> - </td>"; echo "<td align=\"center\"> - </td>"; } else { echo "<td align=\"center\"><a href=\"usuarios.php?admin=usuarios_alterar&acao=resgatar&cod=$cod\"><img src=\"../images/editar.gif\" alt=\"Editar\" border=\"0\" /></a></td>"; echo "<td align=\"center\"><a href=\"usuarios.php?admin=usuarios_listagem&acao=ativar&cod=$cod\" onClick=\"return confirm('Você tem certeza que deseja deletar?')\"> <img src=\"../images/excluir.gif\" alt=\"Excluir\" border=\"0\" /></a></td>"; } echo "</tr>"; } echo "</table>"; } } } // Fecha Pesquisa ?> em um mesmo sql não acredito que não seja possivel pois deve estabelecer a conexao no mesmo script e na mesma requisão sim é possivel. basta criar sua conexão realizar sua sql e em seguida realizar o processo novamente ex?: <?php $con1=mysql_connect("db1","usuario","senha") or die(mysql_error()); $banco=mysql_select_db("banco1") or die(mysql_error()); $sql=mysql_query("select * from tabela") or die(mysql_error()); /* consulta 2 */ $con2=mysql_connect("db2","usuario2","senha2") or die(mysql_error()); $banco2=mysql_select_db("banco2") or die(mysql_error()); $sql2=mysql_query("select * from tabela") or die(mysql_error());até mais Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcelo Mussi Postado Março 6, 2011 Autor Denunciar Share Postado Março 6, 2011 sim, obrigado,, entendi, mais é possível listar tudo junto no caso das duas pesquisas ou tem que listar uma de cada vez... POr exemplo, ele efetua a pesquisa nas duas tabelas e depois junta os resultados e lista em ordem alfabética? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ./.ronin Postado Março 7, 2011 Denunciar Share Postado Março 7, 2011 Deixa ver se eu entendi:São 2 bancos de dados diferentes cada qual com uma tabela nas quais você quer fazer uma consulta em ambas, certo?Mas os campos destas tabelas são iguais e/ou semelhantes? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fiote Postado Março 7, 2011 Denunciar Share Postado Março 7, 2011 em um mesmo sql não acredito que não seja possivel pois deve estabelecer a conexaoNa verdade não. Se o usuário/senha tem acesso aos dois bancos, funciona sem problemas.Supondo que eu tenho 3 bancos no meu site. Forum, Geral e Estatisticas. Se o usuário/senha que eu uso na hora de conectar tem acesso aos 3, posso fazer assim:$query = mysql_query(" SELECT * FROM Geral.Usuario A JOIN Estatisticas.Acessos B ON A.Id_Usuario = B.Id_Usuario WHERE B.Dt_Acesso >= '2011-03-01' ");Você pode especificar exatamente de qual banco você quer buscar a informação para cada tabela. Basta usar Banco.Tabela como eu fiz no exemplo acima. Quando você NÃO usa esse Banco., o mysql supoe que você está querendo usar o banco a qual você escolheu no mysql_select_db. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcelo Mussi Postado Março 7, 2011 Autor Denunciar Share Postado Março 7, 2011 Olá, boa tarde.Então, eu sinceramente não entendo....rs... me desculpa a ignorância...As duas tabelas tem os mesmos campos para pesquisar... que seria:BD1 = menu_listagem Tabelas = cod, titulo, ativoBD2 = menu_linkTabelas = cod, titulo, ativoEu coloquei em tabelas separadas pelo simples fato de uma tabela conter informações muito diferente da outra só que os campos a serem pesquisados são os mesmo. Esses listados à cima. Só que no setor de pesquisa queria poder na hora de pesquisar eles busca-se nos dois BD o titulo e lista-seespero ter explicado melhor.. :S! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fiote Postado Março 7, 2011 Denunciar Share Postado Março 7, 2011 Por "Tabelas" você quis dizer "campos", né?(SELECT cod, titulo, ativo FROM BD1.menu_listagem WHERE algumacoisa) UNION (SELECT cod, titulo, ativo FROM DB2.menu_link WHERE algumacoisa) ORDER BY titulo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcelo Mussi Postado Março 8, 2011 Autor Denunciar Share Postado Março 8, 2011 Ok, valeu pela ajuda! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Marcelo Mussi
Boa Tarde,
Tenho um simples sistema de busca onde localizo em apenas um banco de dados, gostaria de saber se é possível e caso seja, se podem me ajudar a este código pesquisar em dois bandos de dados ao mesmo tempo?
Editado por Marcelo MussiLink para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
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.