Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/05/2010, 16:09
Avatar de salvador86
salvador86
 
Fecha de Ingreso: enero-2008
Ubicación: Guadalajara- Mexico
Mensajes: 467
Antigüedad: 16 años, 4 meses
Puntos: 2
Motor de Busqueda interna de paginas con dos criterios

Hola espero que el titulo no les paresca extraña aunque no se me ocurrio otro, tengo una consulta para poder optimizar un motor de busqueda que realice siguiendo un tutorial aqui esta el ejemplo http://www.pyminstalaciones.com/salvi-index.php pueden probar con la palabra videos, resulta que en el formulario de salvi-index.php donde esta el textbox para hacer la consulta quiero ademas de eso poner un select (una lista) para que tenga un criterio más en la busqueda, colocaré el código actual y en comentarios como pienso colocar esa lista, para que me puedan brindar una ayuda, les agradesco de antemano por su ayuda.

Este es mi BD pyminsta_search que tiene una tabla searchengine con los siguientes campos: id, title, description, url y keywords, una fila seria:
ejemplo: 1, Youtube, Pagina de Youtube, http://www.youtube.com youtube, videos

Código HTML:
<form method="GET" action="salvi-search.php">
  <input type="text" name="search" size="50" />
<!--  <select name="select" id="select">
    <option value="Opcion1">Opcion1</option>
    <option value="Opcion2">Opcion2</option>
  </select>-->
  <input type="submit" name="submit" value="search" />
</form> 
Código PHP:
<?php
$button 
$_GET['submit'];
$search $_GET['search'];
//$buscar = $_GET['buscar']; Bueno aqui me quedo no se como continuar
//Y poner en la consulta la llamada a ese campo

if(!$button)
    echo 
"Esta vacio";
else
{
    if (
strlen($search)<=2)
        echo 
"El texto es demasiado corto";
    else{
        echo 
"Se ha buscado <b>$search</b> <hr size='1' color='blue'>";
        
        
mysql_connect("localhost","xx","xx");
        
mysql_select_db("xx");
        

        
$search_exploded explode(" "$search);
        
        foreach(
$search_exploded as $search_each){
            
$x++;
            if (
$x==1)
                
$construct .= "keywords LIKE '%$search_each%'";
            else
                
$construct .= " OR keywords LIKE '%$search_each%'";  
        }
        
        
$construct "SELECT * FROM searchengine WHERE $construct";
        
$run mysql_query($construct);
        
$foundnum mysql_num_rows($run);
        
        if (
$foundnum==0)
            echo 
"No hay resultado de la busqueda";
        else
        {
            echo 
"$foundnum results found!<p>";
            
            while (
$runrows mysql_fetch_assoc($run))
            {
                
$title $runrows['title'];
                
$desc $runrows['description'];
                
$url $runrows['url'];
                echo 
"
                <b>$title</b><br />$desc<br /><a href='$url'>$url</a><p>"
;
            }
        }
    }
}    
?>

Última edición por salvador86; 18/05/2010 a las 14:08