Foros del Web » Programando para Internet » PHP »

Buscador para varias tablas.

Estas en el tema de Buscador para varias tablas. en el foro de PHP en Foros del Web. Hola, foreros: He intentado hacer un buscador para varias tablas de mi base de datos, pero no lo consigo. El codigo lo he sacado de, ...
  #1 (permalink)  
Antiguo 25/06/2008, 15:57
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 1 mes
Puntos: 19
Buscador para varias tablas.

Hola, foreros:

He intentado hacer un buscador para varias tablas de mi base de datos, pero no lo consigo. El codigo lo he sacado de, ups no me acuerdo, y funciona perfectamente para una sola tabla. Pero no consigo que funcione con mas de una. Todas la tablas tienen la misma estructura, solo cambia el nombre. Lo que busco es que busque en tres tablas llamadas: blog, images y video. Y que busque en todas la tablas en las columnas title y text. Mirar el codigo es este:

Código PHP:
<form action="search.php" method="post">
        Buscar: <input name="palabra">
        <input type="submit" name="buscador" value="Buscar">
        </form>
        <?
            
if ($_POST['buscador'])
                { 
                    
// Tomamos el valor ingresado
                    
$buscar $_POST['palabra'];
                    
// Si está vacío, lo informamos, sino realizamos la búsqueda
                    
if(empty($buscar))
                        {
                        echo 
"No se ha ingresado una cadena a buscar";
                    }else{
                    
                        
// Conexión a la base de datos y seleccion de registros
                        
$con=mysql_connect("localhost","uno","dos");
                        
$sql "SELECT * FROM blog WHERE title like '%$buscar%' ORDER BY id DESC";
                        
mysql_select_db("web"$con); 

                        
$result mysql_query($sql$con); 

                        
// Tomamos el total de los resultados
                        
$total mysql_num_rows($result);

                        
// Imprimimos los resultados
                        
if ($row mysql_fetch_array($result)){ 
                        echo 
"Resultados para: <b>$buscar</b>";
                        do { 
                        
?>
                    <p><b><a href="noticia.php?id=<?=$row['id'];?>"><?=$row['title'];?> - <?=$row['text'];?></a></b></p>
                        <?
                        
} while ($row mysql_fetch_array($result)); 
                            echo 
"<p>Resultados: $total</p>";
                        } else { 
                                
// En caso de no encontrar resultados
                                
echo "No se encontraron resultados para: <b>$buscar</b>"
                                }
                        }
                }
        
?>
¿Como lo hago?, he probado un monton de cosas...

Última edición por salbatore; 25/06/2008 a las 16:05
  #2 (permalink)  
Antiguo 25/06/2008, 16:10
 
Fecha de Ingreso: enero-2008
Ubicación: La Plata
Mensajes: 136
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Buscador para varias tablas.

Una aclaracion...
Código PHP:
$con=mysql_connect("localhost","uno","dos");
                        
$sql "SELECT * FROM blog WHERE title like '%$buscar%' ORDER BY id DESC";
                        
mysql_select_db("web"$con); 
Debes seleccionar la base de datos antes de hacer la consulta , sino no sabra donde consultar/buscar.

Suerte!
  #3 (permalink)  
Antiguo 25/06/2008, 16:22
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 1 mes
Puntos: 19
Respuesta: Buscador para varias tablas.

Hola, de nuevo...

No es problema de eso, jeje... pues debajo sale: $result = mysql_query($sql, $con); .

Volviendo al tema, ¿Como hago para buscar en dos tre tablas con las mismas columnas?
  #4 (permalink)  
Antiguo 25/06/2008, 18:07
isra00
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Buscador para varias tablas.

Que yo sepa, MySQL no tiene funciones para manejar tablas con campos comunes (quizá me esté equivocando, ojalá). Pero míralo por el lado positivo: realizando las búsquedas por separado vas a poder darle al usuario unos resultados de búsqueda mejor clasificados y ordenados
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 17:32.