Foros del Web » Programando para Internet » PHP »

Buscador mysql

Estas en el tema de Buscador mysql en el foro de PHP en Foros del Web. Hola a todos Tengo una base de datos mysql: el campo principal es bicho, y ademas hay otros como género, nombre, habitat Quiero hacer busquedas ...
  #1 (permalink)  
Antiguo 21/02/2004, 06:27
 
Fecha de Ingreso: febrero-2004
Ubicación: Asturias
Mensajes: 171
Antigüedad: 13 años, 10 meses
Puntos: 0
Buscador mysql

Hola a todos

Tengo una base de datos mysql: el campo principal es bicho, y ademas hay otros como género, nombre, habitat

Quiero hacer busquedas en esa base de datos de la siguiente forma: escribir la palabra clave en un cuadro de texto, y seleccionar en un cuadro de lista alguno de los campos que mencione antes (en total 6), y que salga una tabla con todos los bichos que tienen esa palabra.

¿como hago esto?

Gracias
  #2 (permalink)  
Antiguo 21/02/2004, 06:52
 
Fecha de Ingreso: agosto-2003
Ubicación: España
Mensajes: 202
Antigüedad: 14 años, 4 meses
Puntos: 0
bueno, fijemonos en tu tabla, figura que tu tabla tiene una celda llamada descripcion, pues este seria el php de momento para la busqueda:
Código PHP:
<?php
//include de tu conexión a mysql
$tabla "bichos";
$palabra $_POST['q'];
$ssql mysql_query("SELECT * FROM $tabla WHERE bicho Like '%$palabra%' OR descripcion Like '%$palabra%'");
while(
$filas mysql_fetch_object($ssql)){
echo
"Bicho: $filas->bicho";
echo
"Descripción: $filas->descripcion";
echo
"habitat: $filas->habitat";
}
$resultados mysql_num_rows($ssql);
echo 
"Número de resultados: "$resultados ;
?>
no se si aquí estara todo lo que quieras, pero si te fijas el filas-> designa, filas->celda, i muestra su contenido, osea esta clarito, ¿no? bueno ya sabes, si te surgen dudas ponlas quanto antes, pa eso estamos aquí...
  #3 (permalink)  
Antiguo 21/02/2004, 09:02
 
Fecha de Ingreso: febrero-2004
Ubicación: Asturias
Mensajes: 171
Antigüedad: 13 años, 10 meses
Puntos: 0
creo que no me explique bien o no te entiendo

escribo la palabra clave en un campo de texto. luego, en un menu desplegable selecciono un campo donde buscar esa palabra (como nombre, habitat...), y la busqueda se ha de hacer solo en ese campo, no en otros, saliendo en otra pagina el nombre de cada bicho que cumpla esa palabra clave.
  #4 (permalink)  
Antiguo 21/02/2004, 12:02
 
Fecha de Ingreso: agosto-2003
Ubicación: España
Mensajes: 202
Antigüedad: 14 años, 4 meses
Puntos: 0
Ok, no nos vamos muy lejos del otro script

BUeno, pues este script sera casi igual, por ejemplo ahora tu tienes un campo de seleccion, los valores són:
valor->value
habitat->Habitat
nombre->Nombre
descripcion->Descripcion
y su nombre sera campo, entonces nos quedaria un script así:
Código PHP:
<?php
//include de tu conexión a mysql
$tabla "bichos";
$palabra $_POST['q'];
$campo$_POST['campo'];
$ssql mysql_query("SELECT * FROM $tabla WHERE $campo Like '%$palabra%'");
while(
$filas mysql_fetch_object($ssql)){
echo
"Bicho: $filas->bicho";
echo
"Descripción: $filas->descripcion";
echo
"habitat: $filas->habitat";
}
$resultados mysql_num_rows($ssql);
echo 
"Número de resultados: "$resultados ;
?>
adios i suerte----
  #5 (permalink)  
Antiguo 21/02/2004, 15:16
 
Fecha de Ingreso: febrero-2004
Ubicación: Asturias
Mensajes: 171
Antigüedad: 13 años, 10 meses
Puntos: 0
hola. no me funciona. me sale este error:

Parse error: parse error, unexpected T_VARIABLE, expecting ',' or ';' in C:\sokkit\site\WWW\Consultas\Buscador.php on line 29

en la linea 29 pone : echo "Número de resultados: "$resultados ;

como relaciono el script que me mandas con el cuadro de lista que tengo hecho

tengo poca idea de esto y creo que necesitare alguna ayuda mas

gracias
  #6 (permalink)  
Antiguo 21/02/2004, 15:38
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Código PHP:
echo "Número de resultados: ".$resultados 
__________________
Manoloweb
  #7 (permalink)  
Antiguo 21/02/2004, 15:51
 
Fecha de Ingreso: febrero-2004
Ubicación: Asturias
Mensajes: 171
Antigüedad: 13 años, 10 meses
Puntos: 0
Vamos a ver. eso no me funciona me da mas errores que antes.

lo que yo tengo es:
<body>
<p>
<input type="text" name="textfield">
</p>
<p>en</p>
<p>
<select name="select" size="1">
<option value="1">Especie</option>
<option value="2">Nombre com&uacute;n</option>
<option value="3">Filum</option>
<option value="4">Clase</option>
<option value="5">Orden</option>
<option value="6">G&eacute;nero</option>
</select>
</p>
<p><a href="/Consultas/resulbusc.php">Buscar</a></p>
</body>

y al insertar el otro no funciona.

buaaa
  #8 (permalink)  
Antiguo 21/02/2004, 23:42
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Pues aqui el problema es que no estas entendiendo la solucion propuesta.

El formulario que uses debe PASAR los datos a tu script para que funcione.

Para cada campo que pase valores al script debe existir un nombre de referencia, por ejemplo:

<input type="text" name="textobuscado">

Será recibido por tu script PHP de la siguiente forma:

$palabra = $_POST['textobuscado'];


Lo mismo para el select...


<select name="campo" size="1">


$campo= $_POST['campo'];



Espero que te des cuenta de que lo importante es ENTENDER las respuestas y el comportamiento de tus scripts, y no simplemente copiar y pegar y esperar que así funcione, pues aunque así fuera, si un dia quieres modificar una letra, vas a depender de que otra vez alguien te ayude.

No lo tomes a mal, me gusta mucho contestar y ayudar, pero se siente mejor cuando del otro lado ves ganas de comprender, y no de que les soluciones las cosas.

__________________
Manoloweb
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 13:15.