Comunidad de diseño web y desarrollo en internet online

Buscador. Busquedas en 2 tablas distintas

Citar            
MensajeEscrito el 10 Jul 2008 09:17 am
Buscador. Busquedas en 2 tablas distintas
Como se puede hacer una busqueda a 2 tablas distintas?

Tengo la tabla personas y la tabla entidades quiero que mi buscador busque en la tabla persoas en los campos cod_nme y cod_aplds y en la tabla entidades en el campo cod_nme

Lo tengo así configurado para buscar en la tabla persoas y me busca perfectamente pero ahora no se que tengo que hacer para que también me busque en entidades.

Código :

<?php
$colname_resultados = "-1";
if (isset($_POST['nome'])) {
  $colname_resultados = (get_magic_quotes_gpc()) ? $_POST['nome'] : addslashes($_POST['nome']);
}
mysql_select_db($database_bd_contactos, $bd_contactos);
$query_resultados = sprintf("SELECT * FROM persoas WHERE (MATCH (cod_nme,cod_aplds) AGAINST ('%s')) ORDER BY cod_nme", $colname_resultados);
$resultados = mysql_query($query_resultados, $bd_contactos) or die(mysql_error());
$row_resultados = mysql_fetch_assoc($resultados);
$totalRows_resultados = mysql_num_rows($resultados);
?


Gracias

Por Hamwe

7 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Jul 2008 06:21 pm
Tienes que colocar todas las tablas en las que quieres buscar después del from, así:

Código :

 [...] FROM tabla1, tabla2 [...] 

yo utilizo las comas, pero he visto que mucha gente utiliza la palabra JOIN que viene siendo casi lo mismo.

Al seleccionar campos de varias tablas, tienes que hacer la distinción de la tabla a la que pertenecen los campos, puedes hacerlo así:

Código :

 SELECT tabla1.campo1, tabla1.campo2, tabla2.campo1 FROM tabla1, tabla2 

pero yo te recomiendo que utilices un alias para hacerlo más corto

Código :

 SELECT a.campo1, a.campo2, b.campo1 FROM tabla1 a, tabla2 b 

Por Odin

Claber

639 de clabLevel

2 tutoriales

Genero:Masculino   Premio_Secretos

El valle de las hamacas

firefox
Citar            
MensajeEscrito el 10 Jul 2008 07:53 pm

Odin escribió:

Tienes que colocar todas las tablas en las que quieres buscar después del from, así:

Código :

 [...] FROM tabla1, tabla2 [...] 

yo utilizo las comas, pero he visto que mucha gente utiliza la palabra JOIN que viene siendo casi lo mismo.

Al seleccionar campos de varias tablas, tienes que hacer la distinción de la tabla a la que pertenecen los campos, puedes hacerlo así:

Código :

 SELECT tabla1.campo1, tabla1.campo2, tabla2.campo1 FROM tabla1, tabla2 

pero yo te recomiendo que utilices un alias para hacerlo más corto

Código :

 SELECT a.campo1, a.campo2, b.campo1 FROM tabla1 a, tabla2 b 


Ojo que la usar JOIN, lo que estás realizando es armar primero una tabla temporal que junte los resultados de ambas tablas mediante algun parámetro de filtro (si aplicas algo como FROM table1 JOIN table2 ON table1.id = table2.foreign_field_id) o simplemente juntar todos los campos y recién filtrar su búsqueda ahí.

Eso te da la flexibilidad de implementar búsquedas entre varias tablas revisando los conceptos de INNER JOIN, OUTER JOIN (y sus versiones LEFT y RIGHT).

¡Suerte!

Por Yaraher

813 de clabLevel

1 tutorial

 

Callao, Perú

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.