Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Barra de búsqueda

Estas en el tema de Barra de búsqueda en el foro de PHP en Foros del Web. Muy buenas, necesito que me ayuden con el siguiente problema que tengo. Tengo una Página Web en PHP en la que cuando entras, sale un ...
  #1 (permalink)  
Antiguo 27/03/2014, 05:43
 
Fecha de Ingreso: marzo-2014
Mensajes: 6
Antigüedad: 10 años
Puntos: 0
Barra de búsqueda

Muy buenas,

necesito que me ayuden con el siguiente problema que tengo.

Tengo una Página Web en PHP en la que cuando entras, sale un listado en botones de todos los nombres y apellidos que hay almacenados en una base de datos MySQL. Hasta ahí todo sin problemas. Cada botón redirige a un enlace que también saca de la base de datos.
Lo que quiero es lo siguiente: meter una barra de búsqueda arriba del todo, justo antes del primer botón, de forma que si nadie escribe nada en ella, se muestren los botones tal y como se muestran ahora, pero que si alguien pone un nombre, sólo salgan los botones que se correspondan con el nombre que el usuario ha introducido en la barra de búsqueda.
No sé si me he explicado bien.

Muchas gracias!
  #2 (permalink)  
Antiguo 27/03/2014, 05:59
Avatar de alexisverano  
Fecha de Ingreso: septiembre-2008
Ubicación: La Habana.Cuba
Mensajes: 298
Antigüedad: 15 años, 7 meses
Puntos: 36
Respuesta: Barra de búsqueda

Solo deberas poner una caja de texto con un boton que invoque a una sentencia SQL donde extraigas todo el contenido de la base de datos usando un WHERE, es decir donde los registros coincidan con el valor que se escribio en la caja de texto.

Código SQL:
Ver original
  1. SELECT * FROM tu_tabla WHERE nombre_del_campo = 'a_lo_que_viene_de_la_cajatexto'
  #3 (permalink)  
Antiguo 27/03/2014, 07:32
 
Fecha de Ingreso: marzo-2014
Mensajes: 6
Antigüedad: 10 años
Puntos: 0
Respuesta: Barra de búsqueda

Gracias por responder tan rápido.
La cosa está en qué no sé cómo poner ese campo de texto. Me imagino que una vez que se introduzca el texto en la barra, éste se almacenará en una variable, que la meteré en lo que tu código llamas "a_lo_que_viene_de_la_cajatexto".

Pero la otra duda que se me plantea, es que yo sólo quiero que la barra de texto funcione cuando haya algo escrito, si no hay nada escrito, que salga como hasta ahora, todo seguido. Me imagino que habrá que poner un switch tal que si el valor del campo es bullo, saque todo como lo hace ahora, y tal que si hay algo escrito, lo saque tal y como me has contestado.

Muchas gracias otra vez.
  #4 (permalink)  
Antiguo 27/03/2014, 07:49
Avatar de alexisverano  
Fecha de Ingreso: septiembre-2008
Ubicación: La Habana.Cuba
Mensajes: 298
Antigüedad: 15 años, 7 meses
Puntos: 36
Respuesta: Barra de búsqueda

Posteanos el codigo de lo que tienes para darte mejor las recomendaciones.
  #5 (permalink)  
Antiguo 27/03/2014, 07:53
 
Fecha de Ingreso: marzo-2014
Mensajes: 6
Antigüedad: 10 años
Puntos: 0
Respuesta: Barra de búsqueda

Éste es el código

<html>
<head>
<title>Agenda</title>
</head>
<meta name="viewport" content="width=device-width; height=device-height; maximum-scale=1.4; initial-scale=1.0; user-scalable=yes"/>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<body>

<form action="form.php" method="post">
<p>Nombre: <input type="text" name="" /><input type="submit" value="Buscar" /></p>
</form>

<?php
//Crear conexión
$conexion = new mysqli('host', 'usuario', 'contraseña', 'base_de_datos');


// Comprobar la conexión
if (mysqli_connect_errno ($conexion))
{
echo "No se pudo conectar a MySQL: " . mysqli_connect_error ();
}

$result = mysqli_query($conexion,"SELECT * FROM Nombres ORDER BY nombre_nombres ASC");

while($row = mysqli_fetch_array($result))
{
$enlace = $row[enlace_nombres];

echo "<td> <input type='submit' name='Submit' value='$row[nombre_nombres]' action= '$enlace' method='POST'/> </td> <br/> <br/>";

}

?>

</body>
</html>

Etiquetas: barra, boton, busqueda
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 16:15.