Foros del Web » Programando para Internet » PHP »

Ayuda Con Buscador

Estas en el tema de Ayuda Con Buscador en el foro de PHP en Foros del Web. Necesito Hacer Un Buscador Para Mi Pagina Es Sencillo Solo Es Una Tabla Con 3 Campos Lo Que Necesito Es Buscar En Un Formulario Lo ...
  #1 (permalink)  
Antiguo 22/12/2004, 08:25
 
Fecha de Ingreso: diciembre-2004
Mensajes: 108
Antigüedad: 13 años
Puntos: 1
Ayuda Con Buscador

Necesito Hacer Un Buscador Para Mi Pagina Es Sencillo Solo Es Una Tabla Con 3 Campos Lo Que Necesito Es Buscar En Un Formulario Lo Que Escriba Por Ej:

Tabla 1
Campo1
Campo2
Campo3

Cuando Yo Envio El Formulario Y Quiero Buscar Por Ejemplo El Campo1 = El Nombre De Una Persona Quiero Que Busque Por Palabra
El Campo2= El Email Lo Mismo Quiero Que Si El Email Comienza Con A Que Busque Todas Las Personas Que Tengan A Si Escribe Alicia Todas Las Que Tengan Alicia Y Asi Sucesivamente Con Los Tres Campos, En Resumen Quiero Que El Buscador Busque En Los 3 Campos Palabra Por Palabra Aunque El Campo1 Tenga 4 Palabras Me Entienden
  #2 (permalink)  
Antiguo 22/12/2004, 14:20
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Tendrías que ejecutar una sentencia SQL tipo:

$sql="SELECT * FROM tabla WHERE campo1 LIKE '".$_POST['valor']."' OR campo2 LIKE '".$_POST['valor']."' ... etc ";

Como veras .. esto -en principio- es SQL .. así que primero tendrías que tener claro que sentencia SQL necesitarías para luego aplicar "PHP" para ejecutar tu sentencia.

Un saludo,
  #3 (permalink)  
Antiguo 22/12/2004, 17:15
 
Fecha de Ingreso: diciembre-2004
Mensajes: 108
Antigüedad: 13 años
Puntos: 1
bueno talvez aqui si me iluminen por que en otro foro de mi pais no sirven para ayudar solo para criticar al que quiere aprender lo sig:

capo1:123
campo2:456
campo3:789

yo quiero que en mi buscador si yo escribo cualquier numero de cualquier campo que me aparesca toda la fila de los 3 campos primeros me entienden o no
  #4 (permalink)  
Antiguo 06/01/2005, 18:07
 
Fecha de Ingreso: diciembre-2004
Mensajes: 108
Antigüedad: 13 años
Puntos: 1
<FORM ACTION="busca.php">
<INPUT TYPE="TEXT" NAME="palabra">
<INPUT TYPE="SUBMIT" NAME="Buscar">
</form>

Este es mi formulario algo sencillo lo que quiero es sacar de la base de datos por el momento lo que escribo y este es mi buscador php :

<?php
$conexio = mysql_connect("localhost", "nica", "nica");
mysql_select_db ("nicapages", $conexio) OR die ("No se puede conectar");

// SQL para la búsqueda
$sql="SELECT * FROM telefonos WHERE nombre_de_usuario LIKE '%".$_POST[palabra]."%'";

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

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

no se que malo tiene ya la he revisado y no se que sera la base de datos se llama nicapages la tabla se llama telefonos y los campos son 3 nombre_de_usuario, telefono_de_usuario, direccion_de_usuario yo quiero que en el buscador cuando yo escriba el primer nombre o segundo o su primer apellido o segundo o telefono o direccion me aparescan los 3 campos con el nombre o lo que yo busque
  #5 (permalink)  
Antiguo 06/01/2005, 18:08
 
Fecha de Ingreso: diciembre-2004
Mensajes: 108
Antigüedad: 13 años
Puntos: 1
ha realmente el post en la sentencia no va
  #6 (permalink)  
Antiguo 07/01/2005, 06:44
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Los indices para los arrays (POST, GET .. etc) van entre comillas ..

Código PHP:
$sql="SELECT * FROM telefonos WHERE nombre_de_usuario LIKE '%".$_POST['palabra']."%'"
El bucle while() con el mysql_fetch_array() .. se usa tipo:

Código PHP:
while ($row=mysql_fetch_array($result){
    echo 
$row['nombre_de_usuario']."<br>".$row['telefono']."<br><br>";

(tu lo adornas con el HTML/CSS que requieras ...)

En tu formulario HTML .. si no defines un "method" para el mismo .. se asume que e GET el método que usas . .y tu estás recogiendo tus variables por POST . .así que por eso no va tu "post" .. no corresponde el método que usas (que no definistes pero se asume GET como tal) con el que usas en tu script PHP.

<form action="tal.tal" method="Post">
(debes respetar la sintax de HTML .. esto ya no es própio de PHP ..)

Cuando tu haces un "mysql_fecht_Array()" dicha función te entrega un array .. los "indices" de ese array serán los nombres de tus campos de tu tabla(s) usadas.

Por lo demás en tu consulta SQL sólo estás buscando un terminio en un campo .. si quieres que sean en esos tres tendras que usar AND u OR según requieras (en tu caso OR) bajo la sentencia SQL ..

Revisa los tutoriales que tienes en las FAQ's de este foro y los tutoriales de SQL de www.mysql-hispano.com. Recuerda que si bien estás usando "PHP" también estás "aprendiendo" a usar Base de datos .. estas tienen su própio lenguaje: el SQL (Lenguaje estructurado de consultas) y sus própias técnicas y teorías .. Es necesario que algo las conozcas como base.

Sobre PHP y sus funciones para usar Mysql ... puedes visitar el manual oficial de PHP también:
www.php.net/mysql . .ahí veras mas ejemplos y teoría sobre el uso de dichas funciones.

Un saludo,

Última edición por Cluster; 07/01/2005 a las 06:47
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 19:12.