Ir para conteúdo

POWERED BY:

Arquivado

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

junior_capixaba

Listar duas tabelas sql em um arquivo PHP

Recommended Posts

Galera da um HELP para o novato aqui, estou precisando de uma ajuda de vcs que já entende do assunto...
Criei um Select para listar uma tabela do meu banco de dados, quando seleciono um cliente nesse select aparece em meu php todos os dados referente a este cliente, até ai tudo bem, agora preciso logo abaixo dessa tabela listar uma outra tabela com dados também referente a este cliente...para que entendam melhor vo postar uma imagem de como preciso que fique este sistema, e vo tambem postar como ta a estrutura ja feita

exemplo de como preciso que fique:
24448_409880775766572_1917730699_n.jpg

a estrutura que criei foi:

index.php

<?php
header("Content-Type: text/html; charset=ISO-8859-1");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script language="javascript" src="scripts.js" type="text/javascript"></script>
<title>Seleção de Clientes</title>
<style type="text/css">
#conteudo{
 width:1300px;
 height:32px;
 background-color: #9FF;
}
body,td,th {
	color: #000;
}
body {
	background-color: #EEE;
	
}
</style>
</head>

<body>
<?php
mysql_connect("localhost", "explogra_sistema", "zxc456");
mysql_select_db("explogra_sistema");

$consulta = mysql_query("SELECT * FROM `transferencia`;");$num = mysql_num_rows($consulta);
$usuario = mysql_fetch_assoc($consulta);

if($num > 0){
 echo "<form>\n";
 echo "Selecione um cliente:<br /> \n";
 echo "<select name=\"usuarios\" onchange=\"mostrarUsuario(this.value);\">\n";
 echo "<option value=\"0\" selected=\"selected\">Selecione o nome</option>\n";
 do{
 echo "<option value=\"{$usuario['cli_iduni']}\">{$usuario['cli_nm']}</option>\n";
 }while($usuario = mysql_fetch_assoc($consulta));
 echo "</select>\n";
 echo "</form>\n<br /><br />";
}
?>
<div id="conteudo"><b></b></div>
</body>
</html>

 


exibir_dados.php

<?php
header("Content-Type: text/html; charset=ISO-8859-1");
$id=$_GET["id"];
if($id==0){
 echo "Voce deve selecionar um NOME";
}else{
 include("conn.php");

 $sql="SELECT * FROM `transferencia` WHERE `cli_iduni` = '".$id."'";

 $result = mysql_query($sql);

 echo "<table border='2'> 
 <tr>
 <th>Codigo do Produto</th>
 <th>_________Descricao do Produtoo_________</th>
 <th>_____________ISS_____________</th>
 <th>_________Nome do Cliente_________</th>
 </tr>";

 while($row = mysql_fetch_array($result))
 {
 echo "<tr>";
 echo "<td>" . $row['prd_iduni'] . "</td>";
 echo "<td>" . $row['prd_nm'] . "</td>";
 echo "<td>" . $row['pcb_cdbar'] . "</td>";
 echo "<td>" . $row['cli_nm'] . "</td>";
 echo "</tr>";
 }
 echo "</table>";
}
?>


scripts.js

var navegador = navigator.userAgent.toLowerCase(); //Cria e atribui à variável global 'navegador' (em caracteres minúsculos) o nome e a versão do navegador

//Função que inicia o objeto XMLHttpRequest
function objetoXML(){
 if (navegador.indexOf('msie') != -1) { //Internet Explorer
 var controle = (navegador.indexOf('msie 5') != -1) ? 'Microsoft.XMLHTTP' : 'Msxml2.XMLHTTP'; //Operador ternário que adiciona o objeto padrão do seu navegador (caso for o IE) à variável 'controle'
 try{
 return xmlhttp = new ActiveXObject(controle); //Inicia o objeto no IE
 }catch(e){}
 }else{ //Firefox, Safari, Outros..
 return xmlhttp = new XMLHttpRequest(); //Inicia o objeto no Firefox, Safari, Mozilla
 }
}

// Exibe os dados do usuário pelo ID que foi passado como parâmetro
function mostrarUsuario(id) {
 xmlhttp=objetoXML();
 if (xmlhttp==null) {
 alert ("Seu navegador não suporta AJAX!");
 return;
 }

 var url="exibir_dados.php";
 url=url+"?id="+id;
 xmlhttp.onreadystatechange=function() {
 if (xmlhttp.readyState==4 || xmlhttp.readyState=="complete") {
 document.getElementById('conteudo').innerHTML=xmlhttp.responseText;
 }
 }
 xmlhttp.open("GET",url,true);
 xmlhttp.send(null);
}

 

Ele ta listando somente a tabela de cima, preciso que liste a segunda tabela também na mesma index como na imagem acima que postei.

a estrutura da segunda tabela é:
SELECT `npr_iduni_nsa`, `npr_qt`, `prd_iduni`, `prd_nm` FROM `explogran_produto_nota` WHERE 1

me ajudem ai, pois estou aprendendo agora a programar e não sei como faço isso, postem ai o que devo mudar para funcionar!


OBRIGADO!

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para juntar os dados das duas tabelas você vai precisar do inner join. Tipo:

 

SELECT * FROM tabela_1 INNER JOIN tabela_2 ON tabela_1.id_produtos = tabela_2.id_produtos

Onde na tabela_2 precisa ter o id da tabela 1 cadastrado para relacionar os itens.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que não entendi bem. Com este código vc exibe uma tabela, e vc quer que depois dessa tabela seja exibida outra com o resultado desse outro select ai?



olha, ainda não estou muito certo se é isso mesmo que você quer, mas da uma olhada:
$sql="SELECT * FROM explogran_produto_nota WHERE 1'";
$result = mysql_query($sql);
echo "<br />segunda tabela<br />";
echo "<table border='2'>
<tr>
<th>Codigo do Produto</th>
<th>_________Descricao do Produtoo_________</th>
<th>_____________quantidade_____________</th>
<th>_________Nome do Cliente(?)_________</th>
</tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['npr_iduni_nsa'] . "</td>";
echo "<td>" . $row['npr_qt'] . "</td>";
echo "<td>" . $row['prd_iduni'] . "</td>";
echo "<td>" . $row['prd_nm'] . "</td>";
echo "</tr>";
}
echo "</table>";
vc coloca esse código entre a linha 30 e 31 do 'exibe dados', é o mesmo código da outra tabela, basicamente só mudou o select q vc falou.
**esse 'where 1' está certo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

vacaman na verdade este WHERE1 é pq copiei a tabela do banco de dados e veio junto sem querer, o nome da minha tabela é somente explogran_produto_nota , ja tentei fazer assim também, repetindo todos os dados como vc disse e mudando somente o nome da tabela, mas deu erro... de uma olhada no php ja funcionando para que entendam melhor http://explogranexplosivos.com.br/sis/index3.php...só me falta listar essa segunda tabela como na imagem acima.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta ir testanto o código aos poucos pra ver quando começa a dar erro, faz assim, depois da tabela que funciona coloca isso:

$sql = mysql_query("SELECT * FROM explogran_produto_nota") or die("erro: ". mysql_error());

 

(tenta ir testando foi ótima néh)

se o erro estiver nessa linha vai aparecer uma mensagem depois da tabela que vai dar uma luz de qual pode ser o problema

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.