buscador php y mysql

132 views
Skip to first unread message

Armando Rosas

unread,
Oct 10, 2006, 5:47:33 AM10/10/06
to desarro...@googlegroups.com
Saludos a todos:

en php estoy desarrollando un pequeño sistema de consultas de un inventario, ya tengo la base de datos funcionando con sus respectivas tablas al igual que el sistema de autenticación de usuarios, mi problema ahora es colocar un buscador interno ya que la información es muy extensa, lo ideal es que exista un campo de búsqueda haber quien me puede ayudar a resolver este problema ya que tengo hasta el momento esto:

En la pagina del inventario ya tengo mi campo de búsqueda:

<form action="busca.php"">
<input type="text" name="palabra">
<input type="submit" name="buscar" VALUE="Buscar">
</form>

como verán mando llamar al archivo busca.php que contiene el siguiente código:

<?
$conexion = mysql_connect("server", "user", "password");
mysql_select_db ("reportes", $conexion) OR die ("No se puede conectar");

// SQL para la búsqueda
$sql="SELECT * FROM informe WHERE referencia LIKE '%".$palabra."%' ";

$result=mysql_query($sql,$conexion);

// Si hay resultados crea una tabla y los muestra
if ($row= mysql_fetch_array($result))
{
echo "<TABLE BORDER='0'>";
WHILE ($row=mysql_fetch_array($result));
echo "</TABLE>";
}
mysql_close ($conexion);
?>


Aquí el problema es que me manda un error en la linea 6 que es esta
// SQL para la búsqueda
$sql="SELECT * FROM informe WHERE referencia LIKE '%".$palabra."%' ";

mi base de datos tiene las siguientes tablas

CREATE TABLE `informe` (                  
           `stock` varchar(4) default NULL,        
           `referencia` varchar(30) default NULL,  
           `descripcion` varchar(100) default NULL 
         ) TYPE=MyISAM      

en concreto lo que necesito es que la búsqueda sea a través de un numero de referencia único que no se repite en los mas de 5000 registros existentes en esta base de datos y dichos números de registros están en la tabla de referencia y al escribir el numero de referencia en el campo de búsqueda y darle buscar debe arrojarme la fila completa de mi tabla que es stock, referencia y descripción, no me va a arrojar mas de un solo resultado ya que cada numero de referencia es único y no se repite en la base de datos.

Espero alguien me pueda ayudar, hasta pronto que tengan buen día

Renzo

unread,
Oct 12, 2006, 8:53:22 AM10/12/06
to desarrollo web
> Aquí el problema es que me manda un error en la linea 6 que es esta
> // SQL para la búsqueda
> $sql="SELECT * FROM informe WHERE referencia LIKE '%".$palabra."%' ";

Prueba con las comillas dobles, tal vez se arregle

$sql="SELECT * FROM informe WHERE referencia LIKE '%$palabra%' ";


Recuerda que en comillas dobles la variable se cambia automaticamente

carlosrg

unread,
Oct 16, 2006, 12:49:24 PM10/16/06
to desarrollo web
Cual es el error que te da?

Ya recuperas el parámetro pasado por POST y lo guardas en la variable
'$palabra'?

mojo

unread,
Oct 23, 2006, 7:44:55 PM10/23/06
to desarrollo web
Hooooooooola
soy harold, novato en el grupo tal vez tu problema sea que estas
utilizando comillas dobles en esa linea para '%". entonces el punto
creo ke tye hace estorbo, si estoy errado verifica por favor el tipo de
tabla, segun lo ke he aprendido si tu tienes varias tablas y deseas
hacer querys entre ellas siendo estas multirelacionales debes usar
tablas tipo INNODB con SQL 5.algo en adelante
suerte....

Reply all
Reply to author
Forward
0 new messages