Foros del Web » Programando para Internet » PHP »

Como hacer un buscador avanzado con PHP...

Estas en el tema de Como hacer un buscador avanzado con PHP... en el foro de PHP en Foros del Web. Hola estoy realizando un sistema con php y mysql. En si mi sistema realiza altas, bajas, modiifcaiones entre otras opciones. Solo que tengo un pequeño ...
  #1 (permalink)  
Antiguo 10/11/2008, 17:24
 
Fecha de Ingreso: noviembre-2008
Ubicación: Cuautla, Mor.
Mensajes: 15
Antigüedad: 15 años, 5 meses
Puntos: 1
Como hacer un buscador avanzado con PHP...

Hola estoy realizando un sistema con php y mysql. En si mi sistema realiza altas, bajas, modiifcaiones entre otras opciones. Solo que tengo un pequeño problema al realizar una busqueda avanzada.

Ya tengo un buscador, pero no me gusta como funciona ya que solo busca por campo especifico y yo quiero que busque por medio de varios campos...

este es el codigo para el formulario de la Busqueda...

<form name="buscador" method="post" action="buscar.php">
<?
$bd_servidor = "localhost";
$bd_usuario = "root";
$bd_contrasenya = "";
$bd_bdname = "computadoras";
$bd_tabla = "pcescritorio"; // Tabla donde se harán las búsquedas
// Conexión y selección de la base de datos
$link = mysql_connect($bd_servidor,$bd_usuario,$bd_contras enya);
mysql_select_db($bd_bdname,$link);
?>
<strong>Buscar por:</strong>
<select name="campo">
<?php
$result = mysql_query("SHOW FIELDS FROM `$bd_tabla`",$link);
while($row = mysql_fetch_row($result)) {

?>
<option value="<?php echo $row[0]; ?>"><?php echo $row[0]; ?></option>
<?php
}
?>
</select>
Palabra(s): <input type="text" name="palabra"><br>
<input type="submit" value="Buscar" name="enviar">
</form>


Y este Codigo, es el resultado que arroja...

<?
$bd_servidor = "localhost";
$bd_usuario = "root";
$bd_contrasenya = "";
$bd_bdname = "computadoras";
$bd_tabla = "pcescritorio"; // Tabla donde se harán las búsquedas

// Conexión y selección de la base de datos
$link = mysql_connect($bd_servidor,$bd_usuario,$bd_contras enya);
mysql_select_db($bd_bdname,$link);
if(isset($_POST['enviar'])) {

$query = "SELECT * from $bd_tabla WHERE {$_POST['campo']} LIKE '%{$_POST['palabra']}%'";
$result = mysql_query($query,$link);

$found = false; // Si el query ha devuelto algo pondr&aacute; a true esta variable
while ($row = mysql_fetch_array($result)) {
$found = true;
echo "<p>";

foreach($row as $nombre_campo => $valor_campo) {



if(is_int($nombre_campo)) {

continue;
}

echo "<b>".$nombre_campo."</b> : ".$valor_campo."<br>";
}

echo "</p>";

}

if(!$found) {

echo "No se encontr&oacute; la palabra introducida";

}

}
?>

Lo que yo quiero, es realizar un busqueda con varios campos, y no como esto...

E intentado con asp, pero tampoco me sale... Estoy muy apurado... ojala y puedan ayudarme... gracias...
  #2 (permalink)  
Antiguo 10/11/2008, 19:33
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Como hacer un buscador avanzado con PHP...

Que tal Plucky005, primero que todo bienvenido al foro, para lo que deseas implementar podrías utilizar MACTH AGAINST en Indices FULLTEXT




Saludos.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"
  #3 (permalink)  
Antiguo 10/11/2008, 21:38
 
Fecha de Ingreso: noviembre-2008
Ubicación: Cuautla, Mor.
Mensajes: 15
Antigüedad: 15 años, 5 meses
Puntos: 1
Exclamación Respuesta: Como hacer un buscador avanzado con PHP...

Gracias!!! Pero ya habia checado eso es solo que no logro hacer lo que quiero...

Para que me explique mas, mi sistema se trata sobre un inventario de equipo de computo (Hardware, software, muebles, etc...). Para ello cree una base de datos, con distintas tablas.

Ahora deseo que mi buscador, tenga una busqueda avanzada, por ejemplo...
Que me busque solo en la tabla de Hardware lo que estoy buscando, o en dos tablas mas, etc...

O tambien que por medio que tres campos distintos me busque la informacion, diagmos que la tabla Hardware y software tienen 7 campos cada una, y en mi busqueda solo mando lo de 3 campos,,, y que asi me muestre las posibles coinsidencias...

Para que me explique mejor, quiere un buscador como el de esta pagina

"http://www.recetas.net/movil/receta.asp?id=1893BG&personas=8"

la cual ocupa un archivo html, que envia la busqueda y un archivo asp, la cual realiza la busqueda... Ya e intentado programarlo como quiero, pero no me sale... no se que me falte... solo quisiera un ejemplo o un lugar donde me muestre como realizarlo, ya sea con php o asp... claro utilizando My-SQL.. Gracias... se que es mucho pedir... pero es o unico que me falta en mi sistema para poder terminarlo y aun lo lo logro...

Saludos
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 19:54.