Foros del Web » Programando para Internet » PHP »

formulario de búsqueda en php

Estas en el tema de formulario de búsqueda en php en el foro de PHP en Foros del Web. bueno amigos les traigo mi tema, estoy realizando un sistema de manejo bibliotecario y bueno necesito un código para realizar una búsqueda (consulta) en php, ...
  #1 (permalink)  
Antiguo 30/06/2010, 09:28
 
Fecha de Ingreso: junio-2010
Mensajes: 5
Antigüedad: 14 años, 4 meses
Puntos: 0
formulario de búsqueda en php

bueno amigos les traigo mi tema, estoy realizando un sistema de manejo bibliotecario y bueno necesito un código para realizar una búsqueda (consulta) en php, como servidor de prueba tengo wamp y uso el phmyadmin para mi base de datos, todo lo tengo bien, por ahora ese es mi problema, les dejo mis códigos espero puedan ayudarme...cabe mencionar que el código php, lo obtuve de otro sistema parecído, lo único que traté de hacer es adaptarlo...quisiera saber en que estoy mal...Gracias

PHP
<?php
session_start();
require("sesion.php");
?>
<?php
mysql_connect('127.0.0.1','root','******') or die ('Ha fallado la conexi&oacute;n: '.mysql_error());
mysql_select_db('biblioteca')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
?>
<?php
if($search)
{
$select=$_POST['select'];
$search=$_POST['search'];
$res=mysql_query("select * from altas where ".$select." like ".$search."");

if (!$res)
echo "No se pudo realizar la búsqueda";
else
{
$comp=mysql_num_rows($res);
if($comp>0)
{
echo "<b>Hay ".$comp." Resultado(s).</b>";
echo "<table border='0' width='450'>";
$c=1;
while($pru=mysql_fetch_array($res))
{
if($c%2==0)
$color="afcbd9";
else
$color="ffffff";
echo "<tr bgcolor=".$color." style='text-align:left;font-weight:bold;'><td> ".$c."<br> Clave: ".$pru[1]."<br> Titulo: ".$pru[2]."<br> Autor: ".$pru[3]."<br> Categoria: ".$pru[4].", ISBN: ".$pru[4]."<br> Fue Publicado en ".$pru[8]." por ".$pru[9]." el ".$pru[10]."<br> ".$pru[15].", ".$pru[6].", ".$pru[16].", ".$pru[13]."<br> Descripci&oacute;n: ".$pru[14]."<br><br></td></tr>";
$c++;
}
echo "</table>";
}
else
echo "<b>No hay registros con ese término</b>";
}
}
?>

HTML

<form id="consultitulo" name="consultitulo" method="post" action="resultados.php">
<p>Consultar por:
<label>
<select name="select" id="select">
<option selected="selected"> </option>
<option>Clave</option>
<option>T&iacute;tulo</option>
<option>Autor</option>
</select>
T&eacute;rmino de Consulta
<input type="text" name="search" id="search" />
</label>
<input type="submit" name="Submit" value="Consultar" />
</p>
</form>

Última edición por lonely955; 30/06/2010 a las 10:33
  #2 (permalink)  
Antiguo 30/06/2010, 19:14
Avatar de bocho0610  
Fecha de Ingreso: enero-2010
Ubicación: <? echo "Santiago, Chile"; ?>
Mensajes: 341
Antigüedad: 14 años, 10 meses
Puntos: 26
Respuesta: formulario de búsqueda en php

$sql="SELECT * FROM altas WHERE $select like '%$search%'";

creo que seria algo asi.
__________________
Sigueme en Twitter!
Septimoarte.cl <-- Un mundo en cine.

Última edición por bocho0610; 30/06/2010 a las 21:35
  #3 (permalink)  
Antiguo 30/06/2010, 21:28
Avatar de egepe  
Fecha de Ingreso: diciembre-2009
Mensajes: 310
Antigüedad: 14 años, 11 meses
Puntos: 7
Respuesta: formulario de búsqueda en php

De acuerdo con bocho0610 eso es lo que te hace falta colocar
  #4 (permalink)  
Antiguo 01/07/2010, 07:57
 
Fecha de Ingreso: junio-2010
Mensajes: 5
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: formulario de búsqueda en php

ok, entiendo que quizás me falta eso, pero en que parte debo incluirlo?
y gracias por responder! :)
  #5 (permalink)  
Antiguo 01/07/2010, 16:46
Avatar de bocho0610  
Fecha de Ingreso: enero-2010
Ubicación: <? echo "Santiago, Chile"; ?>
Mensajes: 341
Antigüedad: 14 años, 10 meses
Puntos: 26
Respuesta: formulario de búsqueda en php

debes cambiar la consulta en tu caso res.

if($search)
{
$select=$_POST['select'];
$search=$_POST['search'];
$res=mysql_query("select * from altas where ".$select." like ".$search."");}

por esta otra:

$sql="SELECT * FROM altas WHERE $select like '%$search%'";
__________________
Sigueme en Twitter!
Septimoarte.cl <-- Un mundo en cine.
  #6 (permalink)  
Antiguo 04/07/2010, 21:36
 
Fecha de Ingreso: junio-2010
Mensajes: 5
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: formulario de búsqueda en php

amigos, no encuentro la solución, intenté de la forma que me ponen ahí, y buscando otros códigos, encontré ya varios, no me funcionan aún, con este código cuando lo corríjo me aparece la página en blanco y sí tengo registros en la base de datos, y tengo este otro código, pero no me manda ningún resultado...lo pongo espero puedan ayudarme...

Formulario:
<form action="consulta.php" method="post">
Tipo de Búsqueda:<br>
<select name="tipobusqueda">
<option value="a">Búsqueda A
<option value="b">Búsqueda B
<option value="c">Búsqueda C
<option value="d">Búsqueda D
</select>
<br>
¿Qué deseas buscar?:<br>
<input name="busqueda" type=text>
<br>
<input type=submit value="Buscar">
</form>

Código php

<?

Creamos una condicional para comprobar que el campo se ha seleccionado e introducido valores:

trim ($busqueda);
if (!$tipobusqueda || !$busqueda)
{
echo "Campo de búsqueda vacío . Inténtalo de nuevo. ";
exit;
}

Ahora, para que no puedan entrar carácteres que puedan interferir en la interpretación del script como puede ser las comillas, la función addslashes añade las barras inversas para estirilizar el campo, posteriormente deberemos eliminarlas en los resultados de búsqueda con la función stripslashes.

$tipobusqueda = addslashes($tipobusqueda);
$terminobusqueda = addslashes($busqueda);

Conectamos con nuestra base de datos y guardamos los datos de conexión en una variable para posteriormente realizar la condicional de error de conexión. Utilizamos la @ delante para que no nos devuelva los datos de la conexión en la pantalla.

@ $db = mysql_pconnect("host", "usuario", "contraseña");

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("bdconsulta");

Llevamos a cabo la consulta:

$consulta = "select * from tabla where ".$tipobusqueda." like '%".$busqueda."%' ";
$resultado = mysql_query($consulta);

Mostramos los resultados según el número obtenido:

$numerode_resultados = mysql_num_rows($resultado);

echo "<p>Número de resultados encontrados: ".$numerode_resultados."</p>";

for ($i=0; $i <$numerode_resultados; $i++)
{
$filas = mysql_fetch_array($resultado);

Utilizamos la función stripslashes para eliminar las posibles barras inversas y mostramos la búsqueda:

echo "<p>".($i+1).". Búsqueda A: ";
echo stripslashes($filas["a"]);
echo "<br>Búsqueda B: ";
echo stripslashes($filas["b"]);
echo "<br>Búsqueda C ";
echo stripslashes($filas["c"]);
echo "</p>";
}
?>
la página de donde lo obtuve es esta http://www.hucreative.com/php/php3.html ...me urge amigos!!! gracias por su ayuda

Etiquetas: formulario
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 21:36.