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

Pesquisa em mais de um Bando de Dados


Marcelo Mussi

Pergunta

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\">&nbsp;&nbsp;&nbsp;<strong>Nome</strong>:$nome ( <strong>Usuário</strong>: $user )<br />&nbsp;&nbsp;&nbsp;<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 por Marcelo Mussi
Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0
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\">&nbsp;&nbsp;&nbsp;<strong>Nome</strong>:$nome ( <strong>Usuário</strong>: $user )<br />&nbsp;&nbsp;&nbsp;<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

Link para o comentário
Compartilhar em outros sites

  • 0
em um mesmo sql não acredito que não seja possivel pois deve estabelecer a conexao

Na 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.

Link para o comentário
Compartilhar em outros sites

  • 0

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, ativo

BD2 = menu_link

Tabelas = cod, titulo, ativo

Eu 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-se

espero ter explicado melhor.. :S!

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...