Foros del Web » Programando para Internet » PHP »

Unir varios selects y realizar una busqueda en varias tablas

Estas en el tema de Unir varios selects y realizar una busqueda en varias tablas en el foro de PHP en Foros del Web. Hola amigos tengo un buscador y necesito buscar datos en varias tablas y me gustaría saber como puedo unir los selects o las consultas de ...
  #1 (permalink)  
Antiguo 15/08/2011, 21:30
 
Fecha de Ingreso: julio-2010
Mensajes: 90
Antigüedad: 13 años, 9 meses
Puntos: 0
Unir varios selects y realizar una busqueda en varias tablas

Hola amigos tengo un buscador y necesito buscar datos en varias tablas y me gustaría saber como puedo unir los selects o las consultas de cada tabla que aparecen abajo como:

Código PHP:
Ver original
  1. "SELECT *,
  2.          MATCH (TITULO)
  3.          AGAINST ('$frase' IN BOOLEAN MODE) AS coincidencias
  4.          FROM cursophp
  5.          WHERE MATCH (TITULO)
  6.          AGAINST ('$frase' IN BOOLEAN MODE)
  7.           ORDER BY coincidencias DESC";
  8.  
  9. "SELECT *,
  10.          MATCH (TITULO)
  11.          AGAINST ('$frase' IN BOOLEAN MODE) AS coincidencias
  12.          FROM novedades
  13.          WHERE MATCH (TITULO)
  14.          AGAINST ('$frase' IN BOOLEAN MODE)
  15.          ORDER BY coincidencias DESC";
como las uno?


aqui codigo:


Código PHP:
Ver original
  1. // Abrimos la conexión al servidor MySQL
  2. $link = mysql_connect($host,$username,$password);
  3.              mysql_select_db($databaseweb, $link);
  4.  
  5. // Instanciamos, indicando el recurso de conexión
  6. $paging = new PHPPaging($link);
  7.  
  8. // varificamos que el formulario halla sido enviado
  9. if(isset($_GET['Submit']) && $_GET['Submit'] == 'Buscar'){
  10.    
  11.     $frase = addslashes($_GET['busca']);
  12.    
  13.  
  14.     // hacemos la consulta de busqueda
  15.     $q = "SELECT *,
  16.          MATCH (TITULO)
  17.          AGAINST ('$frase' IN BOOLEAN MODE) AS coincidencias
  18.          FROM cursophp
  19.          WHERE MATCH (TITULO)
  20.          AGAINST ('$frase' IN BOOLEAN MODE)
  21.           ORDER BY coincidencias DESC";          
  22.           "SELECT *,
  23.          MATCH (TITULO)
  24.          AGAINST ('$frase' IN BOOLEAN MODE) AS coincidencias
  25.          FROM spnewss
  26.          WHERE MATCH (TITULO)
  27.          AGAINST ('$frase' IN BOOLEAN MODE)
  28.          ORDER BY coincidencias DESC";  
  29.           "SELECT *,
  30.          MATCH (TITULO)
  31.          AGAINST ('$frase' IN BOOLEAN MODE) AS coincidencias
  32.          FROM novedades
  33.          WHERE MATCH (TITULO)
  34.          AGAINST ('$frase' IN BOOLEAN MODE)
  35.          ORDER BY coincidencias DESC";  
  36.           "SELECT *,
  37.          MATCH (TITULO)
  38.          AGAINST ('$frase' IN BOOLEAN MODE) AS coincidencias
  39.          FROM diseno
  40.          WHERE MATCH (TITULO)
  41.          AGAINST ('$frase' IN BOOLEAN MODE)
  42.          ORDER BY coincidencias DESC";  
  43.           "SELECT *,
  44.          MATCH (TITULO)
  45.          AGAINST ('$frase' IN BOOLEAN MODE) AS coincidencias
  46.          FROM programas
  47.          WHERE MATCH (TITULO)
  48.          AGAINST ('$frase' IN BOOLEAN MODE)
  49.          ORDER BY coincidencias DESC";  
  50.           "SELECT *,
  51.          MATCH (TITULO)
  52.          AGAINST ('$frase' IN BOOLEAN MODE) AS coincidencias
  53.          FROM guias
  54.          WHERE MATCH (TITULO)
  55.          AGAINST ('$frase' IN BOOLEAN MODE)
  56.          ORDER BY coincidencias DESC";  
  57.  
  58.  
  59. // Y se usa la función agregarConsulta() (Ver documentación)
  60. $paging->agregarConsulta($q);  
  61.  
  62. $paging->ejecutar();
  63.        
  64. $totalRows = mysql_num_rows(mysql_query($q,$link));
  65. if(!empty($totalRows)){
  66.         echo stripslashes("<p><font size='2'>Su b&uacute;squeda arroj&oacute; <strong>$totalRows</strong> resultados para <strong>$frase</font></strong></p>");
  67.         // mostramos los resultados
  68.     while($datos = $paging->fetchResultado()){ ...
  69.  
  70. echo $datos['TITULO'];

Última edición por XtremeBook; 15/08/2011 a las 22:27
  #2 (permalink)  
Antiguo 16/08/2011, 01:47
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: AYUDA!para unir varios selects y realizar una busqueda en varias tablas

Quizás con UNION?
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #3 (permalink)  
Antiguo 16/08/2011, 11:43
 
Fecha de Ingreso: julio-2010
Mensajes: 90
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Unir varios selects y realizar una busqueda en varias tablas

yo lo pense pero la sintaxis como quedaría para unir por ejemplo 3 consultas?
  #4 (permalink)  
Antiguo 17/08/2011, 01:37
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Unir varios selects y realizar una busqueda en varias tablas

Chico, para algo te di la documentación, infórmate:
Código MySQL:
Ver original
  1. Consulta 1
  2. Consulta 2
  3. Consulta 3

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?

Etiquetas: mysql, realizar, selects, sql, tabla, tablas, formulario, busquedas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:40.