pa_bruno 0 Denunciar post Postado Junho 7, 2005 Falae galera, temcomo eu fazer uma busca em mais de uma tabela??? testei akidealguns modos, mas naum deu certo... consegui de uma forma bem extensa, bem chata, q seria um select pra cada tabela... esse seria o modo??? falow ae Compartilhar este post Link para o post Compartilhar em outros sites
wolfphw 60 Denunciar post Postado Junho 7, 2005 Tem como fazer sim, mas infelismente eu naum vou poder te ajudar pois tb naum sei fazer, eu faço do modo que você escreveu, mas tem um modo que eu jah usei mas faz tempo...Acho que no access ou SQL Server, se você olha a abse de dados tem um modo lah de consulta, dai você escolhe 1 ou mias tabelas e faz a consulta, ele vai te mostrar como deve ficar o seu select. Compartilhar este post Link para o post Compartilhar em outros sites
pa_bruno 0 Denunciar post Postado Junho 7, 2005 jah vi um jeito aki... com JOIN... mas tb descrevendo as tabelas tipo ("SELECT tabela1.campo, tabela2.campo2 FROM tabela1,tabela2") por ae... conseguindo eu posto aki... ;) Compartilhar este post Link para o post Compartilhar em outros sites
wolfphw 60 Denunciar post Postado Junho 7, 2005 Eh dessa forma mesmo... soh naum me lembrava... que eu vi isso quando fiz curso de banco de dados na facul, coisa de quase 3 anos atras hehehee Compartilhar este post Link para o post Compartilhar em outros sites
pa_bruno 0 Denunciar post Postado Junho 7, 2005 pow, coloquei o codigo a seguir, mas soh q ele tahsempre retornando como se naum tivesse registro nenhum... o problema eh q tem... onde q eu to errando,alguem ae sabe??? valew ae PHP [*] [*]<? [*] echo "Digite uma ou mais palavras chaves e clique em buscas para efetuar a busca:"; [*] echo '<form name="busca" action="busca.php" method="post">'; [*] echo "<input type='text' size='15' class='textbox' name='busca' /> "; [*] echo '<input type="submit" name="enviar" value="Buscar" class="botao" />'; [*] echo '</form>'; [*] if($_POST['busca'] <> '') [*] { [*] $rs = mysql_query("SELECT tb_videos.descricao, livros.descricao, personalidades.descricao, radio.txtRadio FROM tb_videos, livros, personalidades, radio WHERE tb_videos.descricao OR livros.descricao OR personalidades.descricao OR radio.txtRadio like '%{$_POST['busca']}%'"); [*] $zero = mysql_affected_rows(); [*] if ($zero == 0) { [*] echo "Nenhum registro encontrado!<br>"; [*] } else { [*] while($row = mysql_fetch_array($rs)) { [*] echo "{$row['descricao']}</a><br>"; [*] } [*] } [*] } [*] ?> [*] otra coisa eh ali no echo do while... como q eu coloco??? pq naum saum todas as tabelas q tem descrição... falow... Compartilhar este post Link para o post Compartilhar em outros sites
pa_bruno 0 Denunciar post Postado Junho 7, 2005 eu fizisso aki antes de ler aki... mas como faria pra imprimir o resultado??? Compartilhar este post Link para o post Compartilhar em outros sites
pa_bruno 0 Denunciar post Postado Junho 7, 2005 sim sim... isso eu jah tinha feito aki... mas soh q a tabela radio naum tem o campo descricao e eu fiz assim a impressão: PHP [*] [*]echo "{$row['descricao']}<br>"; [*] como a tabela radio naum tem descricao naum irá imprimir neh? me falaram pra usar inner join, mas naum sei onde colocar no select... :D Compartilhar este post Link para o post Compartilhar em outros sites
Xandão Grunge 0 Denunciar post Postado Junho 7, 2005 Vou tentar explicar com um exemplo:Neste caso estou usando o MySQL. Tendo as seguintes tabelas:vendas -num (chave primária)-numNotaFiscal-data-clienteintensDeVenda-num (chave primária)-numVenda (chave estrangeira)-descricao-valorUnitario-quantidadee você gostaria de exibir as descrições, preço e quantidadade dos itens que cliente comprou buscando através do nome deste. Este valor é digitado por um usuário.<?$valor=$POST['valor'];$sql=mysql_query("SELECT intensDeVenda.descricao, intensDeVenda.valorUnitario, intensDeVenda.quantidade, vendas.cliente FROM intensDeVenda, vendas WHERE intensDeVenda.numVenda = vendas.num AND vendas.cliente='$valor');while($rs=mysql_fetch_array($rs)) {// mostra os campos}?>supondo que a tabelas possuam:vendasnum | numNotaFiscal | data | Cliente-----------------------------------------------------------1 | 6588 | 04/05/2005 | José3 | 6603 | 07/06/2005 | AnaintensDeVendanum | numVenda | descricao | valorUnitario | quantidade--------------------------------------------------------------------------------------66 | 1 | TV 29" | 800,00 | 167 | 3 | DVD Player | 350,00 | 168 | 3 | Camera Digita 3MP | 750,00 | 2Supondo que o usário digite "Ana"entao deveriamos ter:Vendas.nome | ItensDeVenda.descricao | ItensDeVenda.valorUnitario | ItensDeVenda.quantidade--------------------------------------------------------------------------------------Ana | DVD Player | 350,00 | 1Ana | Camera Digita 3MP | 750,00 | 2Explicando o Código SQL:SELECT intensDeVenda.descricao, intensDeVenda.valorUnitario, intensDeVenda.quantidade, vendas.cliente FROM intensDeVenda, vendas WHERE intensDeVenda.numVenda = vendas.num AND vendas.cliente='$valor'Note que quando trabalhamos com mais de um tabela, em cada campo que referimos deve preceder o nome da tabela correspondente e um ".". Por que? imagine se agente quisesse exibir todos os campos das duas tabelas deste exemplo. Pois nem o banco de dados, nem agente saberia qual de qual tabela seria campo o campo "num", uma vez que ambas tabelas as possuem.Bom neste exemplo utilizei o MySQL, mas creio que a sintaxe é a mesma para a maioria dos BDs conhecidos.Se alguém tiver uma dúvida, ou querer adicionar algo a respeito do que escrevi, fiquem a vontade. Mas postem aqui, nada de MP, email ou MSN.Espero ter ajudado,Xandão Grunge B) Compartilhar este post Link para o post Compartilhar em outros sites
pa_bruno 0 Denunciar post Postado Junho 7, 2005 show d bola xandão... eu entendi como q funciona esse exemplocitado ae... Vo tentar explicar minha situação, acho q vai refrescar, pq naum eh mto parecido co esse exemplo ;) Bom, teho um sistema com as seguntes tabelas: personalidades, tb_videos, radio e livros. Bom, na verdade serão mais, mas por enquanto seriam essas. O que eu quero? Bom, eu tenho um cmapo de busca onde tem um campo txt que possui o nome busca, que ao colocar alguma palavra e clicar em ok, vai ser efetuada a busca. Dentro de cada tabela possui os seguintes campos: personalidades: id, nome e descricao; tb_videos: id, titulo, descricao e link; radio: id e txtRadio; livros: id, titulo, descricao e link; Bom, na verdade eu queria q a busca fosse efetuada em todos os campos, mas estou fazendo agora pelo campo descricao(das tabelas personalidades, tb_videos e livros) e txtRadio da tabela radio se ligaram??? Ou seja, qnd alguem efetuar a busca, ele vai buscar no conteudo desses campos dessas tabelas. o codigo SQL q coloquei: $rs = mysql_query("SELECT tb_videos.descricao, livros.descricao, personalidades.descricao, radio.txtRadio FROM tb_videos, livros, personalidades, radio WHERE tb_videos.descricao like '%{$_POST['busca']}%' OR livros.descricao like '%{$_POST['busca']}%' OR personalidades.descricao like '%{$_POST['busca']}%' OR radio.txtRadio like '%{$_POST['busca']}%'"); E ambei naum sei como faria a impressão do resultado, ja q nem todos os campos saum iguais (na tablea radios o campo eh txtRadio) Entenderam minha situação??? Espero q sim... hehehehe http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Xandão Grunge 0 Denunciar post Postado Junho 7, 2005 bruno que eu saiba você teria que consultar tabela por tabela. Tinha entendido que era pra fazer uma junção de tabela. Pode ser que exista um recurso pra fazer em todas tabelas juntos, mas se existir desconheço.Att,Xandão Grunge B) Compartilhar este post Link para o post Compartilhar em outros sites
pa_bruno 0 Denunciar post Postado Junho 7, 2005 bruno que eu saiba você teria que consultar tabela por tabela. Tinha entendido que era pra fazer uma junção de tabela. Pode ser que exista um recurso pra fazer em todas tabelas juntos, mas se existir desconheço. Att, Xandão Grunge B) <{POST_SNAPBACK}> falae xandão... entaum... era isso q eu queria saber... euconsegui consultando uma por uma... mas pow...eh f*** neh... kiria saber se tem como... eu acho q tem sim, soh naum sei como... seria como +- a parte de busca do site do imasters mermo... onde você indica a seção ou entaum a opção todas as seções... ou seja, tem como, soh naum sei como hehehehehe falow ae... Compartilhar este post Link para o post Compartilhar em outros sites