Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Ayuda busqueda multiple campo

Estas en el tema de Ayuda busqueda multiple campo en el foro de Mysql en Foros del Web. Hola a todos, estaba buscando alguna ayuda con este tema y este me parecio un buen lugar para consultarla :) el tema es el siguiente: ...
  #1 (permalink)  
Antiguo 24/05/2010, 20:25
 
Fecha de Ingreso: mayo-2010
Mensajes: 1
Antigüedad: 14 años
Puntos: 0
Ayuda busqueda multiple campo

Hola a todos, estaba buscando alguna ayuda con este tema y este me parecio un buen lugar para consultarla :)

el tema es el siguiente:

lo que necesito es crear una pagina web de autopartes electricas, esta deve contener un buscador que consulte a la lista de precios(que esta en una base de datos) y esta acomode u ordene la/las palabras buscadas...

encontre un buscador, que funciona perfecto, pero que realiza la busqueda por 1 solo campo; lo que yo necesito es que este buscador realize la consulta por 2 campos: "Codigo" y "Marca"; es decir, que dentro de una determinada Marca, busque un determinado Codigo; El buscador que actualmente uso para consultas de 1 campo es el siguiente:

Cita:
<?

////////////////////////////
// Configuración
///////////////////////////


//Datos Del Host

$bd_servidor = "Host";

$bd_articu = "DB";

$bd_contrasenya = "pass";

$bd_bdname = "nombre db";

$bd_tabla = "tabla"; // Tabla donde se harán las búsquedas

// Conexión y selección de la base de datos

$link = mysql_connect($bd_servidor,$bd_articu,$bd_contrase nya);

mysql_select_db($bd_bdname,$link);

////////////////////////////
// Formulario
///////////////////////////


?>

<center>
<p><h2 class="Estilo2">Busqueda por marca</h2>
</p>
<p class="Estilo2"><form action="index2.html" method="post" name="buscador" class="Estilo2"><br>
Buscar en:
<select name="campo">
<?php

//Con este query obtendremos los campos por los cuales el usuario puede buscar

$result = mysql_query("SHOW FIELDS FROM `$bd_tabla`",$link);

while($row = mysql_fetch_row($result)) {

// en $row[0] tenemos el nombre del campo
// de esta manera no necesitamos conocer el nombre de los campos
// por lo que cualquier tabla nos valdrá

?>
<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="Enviar" name="enviar">
</form></p>
</center>

<span class="Estilo2">
<?

////////////////////////////
// Proceso del Formulario
///////////////////////////


if(isset($_POST['enviar'])) {

// Solo se ejecuta si se ha enviado el formulario

$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á a true esta variable

while ($row = mysql_fetch_array($result)) {

$found = true;

echo "<p>";

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

// Tenemos que mostrar todos los campos de las filas donde se haya
// encontrado la búsqueda.



if(is_int($nombre_campo)) {

continue;
//Cuando hacemos mysql_fetch_array, php genera un array
// con todos los valores guardados dos veces, uno con
// índice numérico y otro con índice el nombre del campo.
// Solo nos interesa el del nombre del campo.

}

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

echo "</p>";

}

if(!$found) {

echo "No se encontró el valor introducido";

}

}
?>
espero que puedan ayudarme, y muchas gracias de antemano

Etiquetas: busquedas, campos
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:27.