Foros del Web » Programando para Internet » PHP »

Error en busqueda

Estas en el tema de Error en busqueda en el foro de PHP en Foros del Web. Hola amigos soy nuevo en PHP, y quisiera plantearles el siguiente problema 1.- Tengo 2 archivos: buscador.html y resultados.php 2.- Mi base de datos es ...
  #1 (permalink)  
Antiguo 24/07/2011, 10:49
Avatar de xArchangellx  
Fecha de Ingreso: octubre-2008
Ubicación: Peru
Mensajes: 208
Antigüedad: 15 años, 6 meses
Puntos: 5
Exclamación Error en busqueda

Hola amigos soy nuevo en PHP, y quisiera plantearles el siguiente problema
1.- Tengo 2 archivos: buscador.html y resultados.php
2.- Mi base de datos es libreria, en la cual tengo una tabla con los siguientes campos y datos

3.- Mi servidor local localhost root y sin clave

Este es mi archivo buscador.html
Código:
<html>
<head>
  <title>Catálogo de Búsqueda Librería Online</title>
</head>

<body>
  <h1>Catálogo de Búsqueda Librería Online</h1>

  <form action="resultados.php" method="post">
    Elige Tipo de Búsqueda:<br>
    <select name="tipobusqueda">
      <option value="autor">Autor
      <option value="titulo" selected>Título
      <option value="isbn">ISBN
    </select>
    <br>
    Escribe Término Búsqueda:<br>
    <input name="terminobusqueda" type=text>
    <br>
    <input type=submit value="Buscar">
  </form>

</body>
</html>
Y este es mi archivo resultados.php
Código PHP:
<html>
<head>
  <title>Resultados de la Búsqueda en la Librería Online</title>
</head>
<body>
<h1>Resultados de la Búsqueda en la Librería Online</h1>
<?php
$tipobusqueda
=$_POST['tipobusqueda'];
$terminobusqueda=$_POST['$terminobusqueda'];  

  
trim ($terminobusqueda);
  if (!
$terminobusqueda || !$tipobusqueda)
  {
     echo 
"No has introducido los detalles de la busqueda.  Por favor vuelve e inténtalo de nuevo.";
     exit;
  }  
 
  
$tipobusqueda addslashes($tipobusqueda);
  
$terminobusqueda addslashes($terminobusqueda);

  @ 
$db mysql_pconnect("localhost""root""");

  if (!
$db)
  {
     echo 
"Error: No se ha podido conectar a la base de datos.  Por favor, prueba de nuevo más tarde.";
     exit;
  }

  
mysql_select_db("libreria");
  
$consulta "select * from libros where ".$tipobusqueda." like '%".$terminobusqueda."%'";
  
$resultado mysql_query($consulta);

  
$num_resultados mysql_num_rows($resultado);

  echo 
"<p>Número de libros encontrados: ".$num_resultados."</p>";

  for (
$i=0$i <$num_resultados$i++)
  {
     
$row mysql_fetch_array($resultado);
     echo 
"<p><strong>".($i+1).". Título: ";
     echo 
stripslashes($row["titulo"]);
     echo 
"</strong><br>Autor: ";
     echo 
stripslashes($row["autor"]);
     echo 
"<br>ISBN: ";
     echo 
stripslashes($row["isbn"]);
     echo 
"<br>Precio: ";
     echo 
stripslashes($row["precio"]);
     echo 
"</p>";
  }

?>

</body>
</html>
Lo que necesito es lo siguiente:
Al seleccionar en el formulario por titulo, escribo flash en la caja de texto

me arroje lo siguiente:


Si comento este pedazo de codigo me muestra todos los libros los cuales no hay un filtro, el fultro es que salgan libros de "Flash", es el texto que coloco en la caja
Código PHP:
/*if (!$terminobusqueda || !$tipobusqueda)
  {
     echo "No has introducido los detalles de la busqueda.  Por favor vuelve e inténtalo de nuevo.";
     exit;
  }   */ 
Sin embargo me sale error, o me salen todos los libros, en pocas palabras no filtra.
Si tiene solucion por favor decirme, si existe otro codigo de busqueda, por favor se los agradeceria
Gracias
  #2 (permalink)  
Antiguo 24/07/2011, 10:58
Avatar de Ximenitaa  
Fecha de Ingreso: abril-2011
Ubicación: Mexico
Mensajes: 208
Antigüedad: 13 años
Puntos: 43
Respuesta: Error en busqueda

Hola : checa bien tu consulta, en el uso de LIKE hay varias opciones que puedes utilizar, ya sea palabra por palabra, frase, coindencia .... talvez puedas empezar por ello.... investiga un poquito mas al respecto ....

saludos !!
__________________
❤(。◕‿◕)❤ . . . Ten un dia .... GeNiAl.... !!!! . . . ❤(◕‿◕。)❤

¿Que dia es hoy? . . . Hoy, hoy, es definitivamente un dia PERFECTO !!

Etiquetas: html, mysql, tabla, formulario, busquedas
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 08:17.