Usar campo de resultado de consulta em BD1 para mostrar outro consulta em BD2

Enviada por FABIO ALEX 
Pessoal bom dia.

Entendo muito pouco de PHP por começar agora.

Seguinte, criei uma busca com dois campos CNPJ e SENHA.
Beleza se um dos campos estiver errado ele não consegue mostrar nada da minha tabela "empresa".
Mas quando esta ok ele mostra no histórico.php.

empresa_id, empresa e cnpj como mostra o código abaixo.

$criterio = $_POST['cnpj'];
$categoria = $_POST['senha']; //categoria que o usuario deseja

$query = mysql_query("SELECT * FROM empresa WHERE cnpj LIKE '%$criterio%' AND senha = '$categoria'");
$nr_linhas = mysql_num_rows($query);

?>
<?php for($i=0;$i<$nr_linhas;$i++){ $campo = mysql_fetch_assoc($query); ?>
<? echo $campo['empresa_id']; ?>
<? echo $campo['empresa']; ?>
<? echo $campo['cnpj']; ?>
<? } ?>

Dai tenho mais abaixo o histórico que é identificado separado para cada empresa com o campo empresa_id

Minha dúvida é como posso fazer para puxar o resultado da consulta da Tabela "empresa" em especifico o campo que aparece empresa_id para consultar na tabela "os" campo empresa_id e mostrar esse histórico.
não sei como identificar esse código e se não bater mostrar dados incorretos.

esse é o código que quero que mostre os dados da consulta OS.

$campo = $_POST['empresa_id'];(não sei declarar aqui como puxar o empresa_id do resultado da consulta)

$query = mysql_query("SELECT * FROM os WHERE empresa_id LIKE '%$campo%'");
$nr_linhas = mysql_num_rows($query);

<?php for($i=0;$i<$nr_linhas;$i++){ $campo = mysql_fetch_assoc($query); ?>
<? echo $campo['os']; ?> <br>
<? echo $campo['data']; ?>
<? echo $campo['descricao']; ?> - <? echo $campo['status']; ?><br>
DT retirada:<? echo $campo['dt_retirada']; ?><br>
<? } ?>


Agradeço pela ajuda
Diego R. Mengarda
Re: Usar campo de resultado de consulta em BD1 para mostrar outro consulta em BD2
15 de February de 2012 às 06:55AM
$criterio = $_POST['cnpj'];
$categoria = $_POST['senha']; //categoria que o usuario deseja

$query = mysql_query("SELECT * FROM empresa WHERE cnpj LIKE '%$criterio%' AND senha = '$categoria'");
$nr_linhas = mysql_num_rows($query);

?>
<?php for($i=0;$i<$nr_linhas;$i++){ $campo = mysql_fetch_assoc($query); ?>
<? echo $campo['empresa_id']; ?>
<? echo $campo['empresa']; ?>
<? echo $campo['cnpj']; ?>
<? } ?>

$campo = $campo['empresa_id';

$query = mysql_query("SELECT * FROM os WHERE empresa_id = '$campo'");
$nr_linhas = mysql_num_rows($query);

<?php for($i=0;$i<$nr_linhas;$i++){ $campo = mysql_fetch_assoc($query); ?>
<? echo $campo['os']; ?> <br>
<? echo $campo['data']; ?>
<? echo $campo['descricao']; ?> - <? echo $campo['status']; ?><br>
DT retirada:<? echo $campo['dt_retirada']; ?><br>
<? } ?>

;)
Diego deu certo.

Mas quando a primeira consulta fica em branco por não encontrar os dados na tabela "empresa" ele acaba mostrando todos os dados da tabela "os".

Tem como quando não encontrar os dados ao invés de mostrar todos os dados ele dar uma mensagem de dados incorretos para não mostrar todos os dados.

Valeu mesmo pela ajuda
Diego R. Mengarda
Re: Usar campo de resultado de consulta em BD1 para mostrar outro consulta em BD2
15 de February de 2012 às 07:27AM
mude de

$campo = $campo['empresa_id';

$query = mysql_query("SELECT * FROM os WHERE empresa_id = '$campo'");
$nr_linhas = mysql_num_rows($query);

<?php for($i=0;$i<$nr_linhas;$i++){ $campo = mysql_fetch_assoc($query); ?>
<? echo $campo['os']; ?> <br>
<? echo $campo['data']; ?>
<? echo $campo['descricao']; ?> - <? echo $campo['status']; ?><br>
DT retirada:<? echo $campo['dt_retirada']; ?><br>
<? } ?>



para



$campo = $campo['empresa_id';

$query = mysql_query("SELECT * FROM os WHERE empresa_id = '$campo'");
$nr_linhas = mysql_num_rows($query);

if (mysql_num_rows($query)) {

for($i=0;$i<$nr_linhas;$i++){ $campo = mysql_fetch_assoc($query); ?>
<? echo $campo['os']; ?> <br>
<? echo $campo['data']; ?>
<? echo $campo['descricao']; ?> - <? echo $campo['status']; ?><br>
DT retirada:<? echo $campo['dt_retirada']; ?><br>
<? }
}
?>
Diego coloquei como vc me pediu mas ainda sim ele tah puxando todos os dados da tabela OS.

To usando o seguinte critério to digitando um cnpj e a senha errada, dai ele ta carregando a página historico.php mas fica em branco a parte que mostra o resultado da tabela "empresa"

dai essa parte do código que mostra a tabela OS ele mostra tudo mesmo não aparecendo nada em cima.

será que meu código tem algo a mais postei ele todo.

<?php
$dbh=mysql_connect ("localhost", "nome", "senha") or die ('N&atilde;o foi possivel se conectar: ' . mysql_error());

mysql_select_db ("banco");

$campo = $campo['empresa_id'];

$query = mysql_query("SELECT * FROM os WHERE empresa_id LIKE '%$campo%'");
$nr_linhas = mysql_num_rows($query);
?>
<?php
if (mysql_num_rows($query)) {

for($i=0;$i<$nr_linhas;$i++){ $campo = mysql_fetch_assoc($query); ?>
<? echo $campo['os']; ?> <br>
<? echo $campo['data']; ?>
<? echo $campo['descricao']; ?> - <? echo $campo['status']; ?><br>
DT retirada:<? echo $campo['dt_retirada']; ?>
<? } } ?>

valeu pela ajuda
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.