Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

RUY

[Resolvido] Busca em várias tabelas

Recommended Posts

Tenho um formulario de busca (php).Quando insere um dado, ele deve buscá-lo em todas as tabelas do banco(mysql),ou no minimo 3, estou quebrando a cabeça para fazer isso, alguém conhece algum exemplo ou tem alguma dica? Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

sem tu colocar o codigo é meio dificil de ajudar

 

mais é +- isso

 


<form action='' method='get'>
Buscar:<input type='text' name='pesquisar'><input type='submit' name='submit'>
</form>
<?php


if(isset($_GET['submit']))

{

$C = mysql_connect('localhost','root','')or die(mysql_error());
$D = mysql_select_db('pesquisa',$C) or die(mysql_error());

$pesquisar = $_GET['pesquisar'];

$consulta = mysql_query("
SELECT * 

FROM 
tbl1,
tbl2,
tbl3

WHERE 
nome like'%$pesquisar%' 


")or die(mysql_error());

while($row=mysql_fetch_object($consulta))

{
echo $row->nome;
}

}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Peço desculpas, mas é que eu não tinha menor idéia por onde começar, bom acabei fazendo uma tabela(tabela_rp) que cujo o valor dos campos deverá concatenar afim de criar um select para buscar a informação necessária.

 

O problema é que não pega o resultado, apenas gera uma página em branco, as demais opções acessam outras tabelas.

 

PS:O projeto consiste em controle de patrimonio, PC, e cada parte do PC(Monitor, aplicativo, etc..)é uma tabela.

 

 

if((!empty($_POST[fldrp])) && (empty($_POST[tipo])))
{//RP apenas
 	//carrega os resultados
	$tabela_rp="select tbtabela from tabela_rp where tbrp like '$_POST[fldrp]'";
	//$tabela_rp="select fldmarca_monitor from tbmonitor where fldrp_monitor like '$_POST[fldrp]'";
	//busca
	$busca=mysql_query($tabela_rp) or die(mysql_error());
	
	//Mostra o resultado da busca
	//$amostra=mysql_fetch_row($busca) or die(mysql_error());
	if(mysql_fetch_array($busca))
	{	
	
		switch($busca)
		{
		case 'monitor':
		$busca='monitor';
		break;
		
		case 'impressora':
		$busca="impressora";
		break;
		
		default:
		$busca="cpu";
		}

  
	
	
	
//********Monta o SQL**************

	$sql="select *from";
	$sql.=" tb";
	$sql.="$busca";
	$fldrp="fldrp";
	$fldrp.="_";
	$fldrp.="$busca";
	$sql.=" where $fldrp like '$_POST[fldrp]'";
	//coluna da tabela
	$tabela="_";
	$tabela.="$busca";
	$fldrp="fldrp";
	$fldrp.="$busca";
	$fldmarca="fldmarca";
	$fldmarca.="$busca";
	$fldmodelo="fldmodelo";
	$fldmodelo.="$busca";
	$lbtipo="lbtipo";
	$lbtipo.="$busca";
	$fldlocal="fldlocal";
	$fldlocal.="$busca";
	$fldserie="fldserie";
	$fldserie.="$busca";
	}

//***********************************************************************
	$busca = mysql_query($sql) or die (mysql_error());
	//Mostra o resultado da busca
	$mostra=mysql_fetch_array($busca) or die(mysql_error());
	//conta
	$contagem=mysql_num_rows($busca) or die("sem resultados-182");



//////Cria a tabela

echo<<<HTML
<html>
<head>
<title>Consulta</title>
<link rel="stylesheet" href="file:///F:/aplicativos/xampp/htdocs/rastreabilidade/Sistema/css/css.css" type="text/css">
</head>
<body>
<br>
<div class="tit"></div>
<br>
<table style="margin-left: 125px; width: 731px; height: 22px;"
 border="1" cellpadding="2" cellspacing="2">
  <tbody>
   <tr class=tit>
    <td style="text-align: center; width: 551px;">Lanagro/RS</td>
	<td style="width: 104px height:22;">Unidades: $contagem</td>
   </tr>	
 </tbody>
</table>
<table style="margin-left: 125px; width: 731px; height: 22px; "
 border="1" cellpadding="2" cellspacing="2">
  <tbody>
   <tr class="subtit">
      <td style="width: 40px;">RP</td>
	  <td style="text-align: justify; width: 106px;">Tipo</td>
	  <td style="width: 100px;">Marca</td>
	  <td style="width: 110px;">Modelo</td>	  
	  <td style="width: 107px;">Local</td>
	  <td style="width: 111px;">Série</td>
  </tr>	
 </tbody>
</table>

HTML;
echo"</body></html>";


do
{
echo<<<HTML
<html>
<head>
<title></title>
</head>
<body>
<table style="margin-left: 125px; width: 731px; height: 42px;" border="1" cellpadding="2" cellspacing="2">
  <tbody>
    <tr class=resultado>     
	  <td style="width: 40px;">$mostra[$fldrp]</td>
      <td style="text-align: justify; width: 106px;">$_POST[tipo] $mostra[$lbtipo]</td>
      <td style="width: 100px;">$mostra[$fldmarca]</td>
	  <td style="width: 110px;">$mostra[$fldmodelo]</td>
	  <td style="width: 107px;">$mostra[$fldlocal]</td>	  
	  <td style="width: 111px;">$mostra[$fldserie]</td>
	</tr>	
  </tbody>
</table>
HTML;
}

while ($mostra=mysql_fetch_array($busca))

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.