Foros del Web » Programando para Internet » PHP »

Un buscador para nuestra base de datos

Estas en el tema de Un buscador para nuestra base de datos en el foro de PHP en Foros del Web. Hola,soy nuevo en esto. Estuve buscando y encontre un script,pero no me funciona ,me dise ke Debe especificar una cadena a bucar. Mi tabla es ...
  #1 (permalink)  
Antiguo 29/12/2004, 13:32
 
Fecha de Ingreso: diciembre-2004
Mensajes: 371
Antigüedad: 19 años, 4 meses
Puntos: 0
Un buscador para nuestra base de datos

Hola,soy nuevo en esto.
Estuve buscando y encontre un script,pero no me funciona ,me dise ke Debe especificar una cadena a bucar.
Mi tabla es asi:

INDICE campo1 campo2
Editar Borrar ---1-----reg1------a---
Editar Borrar ---2-----reg2------b---
Editar Borrar ---3-----reg3------c---
Editar Borrar ---4---- reg4------d---
Editar Borrar ---5----- reg5------e---


-------------------------------------------------------------------------
y el codigo ke tengo fue este:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body>
<form action="<?=$_SERVER[$PHP_SELF];?>" method="post" >
<strong>Palabra clave:</strong> <input type="text" name="T1" size="20"><br><br>
<input type="submit" value="Buscar" name="buscar">
</form>

<?php
if (!isset($buscar)){
echo "Debe especificar una cadena a bucar";
exit;
}
$link = mysql_connect("localhost", "basedato", "contraseña");
mysql_select_db("basedato", $link);
$result = mysql_query("SELECT * FROM tb1 WHERE campo1 LIKE '%$buscar%' ORDER BY campo1", $link);
if ($row = mysql_fetch_array($result)){
echo "<table border = '1'> \n";
//Mostramos los nombres de las tablas
echo "<tr> \n";
while ($field = mysql_fetch_field($result)){
echo "<td>$field->name</td> \n";
}
echo "</tr> \n";
do {
echo "<tr> \n";
echo "<td>".$row["IDENTIDAD"]."</td> \n";
echo "<td>".$row["campo1"]."</td> \n";
echo "<td>".$row["campo2"]."</td> \n";
echo "<td><a href='mailto:".$row["[email protected]"]."'>".$row["[email protected]"]."</a></td> \n";
echo "</tr> \n";
} while ($row = mysql_fetch_array($result));
echo "</table> \n";
} else {
echo "¡ No se ha encontrado ningún registro !";
}
?>
</body>
</html>

Ke es lo ke tengo mal?
  #2 (permalink)  
Antiguo 29/12/2004, 18:38
Avatar de dmedina83  
Fecha de Ingreso: mayo-2004
Ubicación: Mérida
Mensajes: 96
Antigüedad: 19 años, 11 meses
Puntos: 0
Hola
primero tienes que modificar tu formulario de busqueda

Código PHP:
<form action="<?=$_SERVER[$PHP_SELF];?>" method="post" >
<strong>Palabra clave:</strong> <input type="text" name="buscar" size="20"><br><br>
<input type="submit" value="Buscar" name="busqueda">
</form>
Otra cosa seria

cambiar la siguiente linea
Código PHP:
if (!isset($_POST['buscar'])){
echo 
"Debe especificar una cadena a bucar";
exit;

y por ultimo un comentario sobre la siguiente linea

echo "<td><a href='mailto:".$row["[email protected]"]."'>".$row["[email protected]"]."</a></td> \n";

[email protected] es el nombre de tu campo?????? verificalo


__________________
WebAdictos - Una dosis diaria de web
  #3 (permalink)  
Antiguo 29/12/2004, 22:29
 
Fecha de Ingreso: octubre-2004
Ubicación: Ibague
Mensajes: 348
Antigüedad: 19 años, 6 meses
Puntos: 2
Bueno tal vez algunos se molesten, pero pues te reocomendaria utilizar http://www.dadabik.org, con este programita te haces un buscador a una base de datos. es una opcion no...
  #4 (permalink)  
Antiguo 30/12/2004, 14:06
 
Fecha de Ingreso: diciembre-2004
Mensajes: 371
Antigüedad: 19 años, 4 meses
Puntos: 0
Muxas gasias dmedina83 ,me lo has dejado perfecto.
Y a tolired tambien,,ahun no lo probe ,,pero voy a mirar ese programilla parese intersante.
  #5 (permalink)  
Antiguo 30/12/2004, 14:12
Avatar de dmedina83  
Fecha de Ingreso: mayo-2004
Ubicación: Mérida
Mensajes: 96
Antigüedad: 19 años, 11 meses
Puntos: 0
De nada, un placer ayudarte

Nos vemos y Feliz Año
__________________
WebAdictos - Una dosis diaria de web
  #6 (permalink)  
Antiguo 30/12/2004, 19:15
 
Fecha de Ingreso: diciembre-2004
Mensajes: 371
Antigüedad: 19 años, 4 meses
Puntos: 0
Hola de nuevo,me kedo una dudilla ,mi buscador me da resultados tan solo con ke aparezca una letra,como tendria ke hacer para ke fueran dos o tres letras juntas ?Y para una palabra o para todo el texto ?
Gasias,y Feliz año nuevo.
  #7 (permalink)  
Antiguo 30/12/2004, 23:13
Avatar de dmedina83  
Fecha de Ingreso: mayo-2004
Ubicación: Mérida
Mensajes: 96
Antigüedad: 19 años, 11 meses
Puntos: 0
se me ocurre que podrias validar el tamaño de la cadena a buscar es decir validar que sea de mas de 1 caracter de largo usando la funcion strlen ()
__________________
WebAdictos - Una dosis diaria de web
  #8 (permalink)  
Antiguo 31/12/2004, 04:25
mon
 
Fecha de Ingreso: febrero-2003
Mensajes: 506
Antigüedad: 21 años, 2 meses
Puntos: 0
Gracias por el script, pero yo estoy muy verde en esto, como habría que poner lo de la funcion strlen () dentro del codigo?, gracias
  #9 (permalink)  
Antiguo 01/01/2005, 15:21
 
Fecha de Ingreso: diciembre-2004
Mensajes: 371
Antigüedad: 19 años, 4 meses
Puntos: 0
Probe esto ,pero no me funciona,,no me busca nada.
Alguien sabe como seria.

$result = mysql_query("SELECT * FROM tb1 WHERE campo1 LIKE '%$strlen($buscar) > 2%' ORDER BY campo1", $link);
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 09:18.