Foros del Web » Programando para Internet » PHP »

Buscador de notas de PHP

Estas en el tema de Buscador de notas de PHP en el foro de PHP en Foros del Web. Hola a todos, estoy dando mis primeros pasos en esto y me surgió una duda, ¿Como se hace un buscador de notas con PHP?. Les ...
  #1 (permalink)  
Antiguo 24/01/2004, 14:10
 
Fecha de Ingreso: septiembre-2003
Mensajes: 197
Antigüedad: 20 años, 7 meses
Puntos: 0
Pregunta Buscador de notas de PHP

Hola a todos, estoy dando mis primeros pasos en esto y me surgió una duda, ¿Como se hace un buscador de notas con PHP?.
Les agradeceria que me pudieran orientar en el tema, que pasos tengo que seguir. Cual sería el código que tengo que insertar.
Demás esta decirles que les agradezco la ayuda.
  #2 (permalink)  
Antiguo 24/01/2004, 16:18
Avatar de Gerald  
Fecha de Ingreso: julio-2003
Mensajes: 1.356
Antigüedad: 20 años, 9 meses
Puntos: 2
A ver..

Un ejemplo no recuerdo de donde lo saque

Código PHP:
formulario de buskeda
---------------------

<form action="buscador.php" method="post">
<input type="text" name="palabra">
<input type="submit" name="enviar" value="Buscar!">
</form>

config.php (El archivo de conexion a la bd)
----------

<?
$dbhost 
"localhost" ;
$dbuser "tu_usuario" ;
$dbpass "tu_passr" ;
$db "tu_bd" ;
$conectar mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($db,$conectar) ;
?>

buscador.php
------------

1-realizas la conexion a la base de datos(config.php)
2-creas la siguiente sentencia sql:
$resp = mysql_query("select * from tabla where campo_en_el_k_buskar LIKE '%".$_POST[palabra]."%'") or die (mysql_error());

explicacion de la sentencia
---------------------------
1-bien es una sentencia facililla donde pone * , esto significa que escojes todos
  los campos de dixa tabla,si lo prefieres puedes elegir tus propios campos
2-cambias "tabla" por la tabla de la bd dond kieras buscar
3-Donde pone "campo_en_el_k_buskar" debes de poner el campo donde se realizaran las comprobaciones
  de coincidencia
4-¿Que significa LIKE? Pues like se puede usar de dos formas
4.0-Sintaxis de LIKE:
4.0.1- Campo_de_la_bd_donde_vas_a_buscar LIKE 'o%' ó '%o%'
4.1-campo LIKE '%hola%' esto lo k aria seria buscar cualkier coincidencia(exactamente
    lo k estamos aciendo aqui)
4.2-La segunda forma k se puede usar es esta campo LIKE 'o%', esto lo k
    aria seria buscar cualkier cadena k empezara por la
    letra o numero puesto
4-Con esto acabamos la sentencia y su explicacion

EXTRAER LOS DATOS
-------------------

Bien para esta tarea utilizaremos un bucle del tipo while
while(..) { 
//sentencias a ejecutar
}

Bien pongo el codigo desde el principio

BUSCADOR.PHP
------------
<?php
include("config.php");
if(
$enviar) {//comprobamos k se aya pulsao el enviar
$resp mysql_query("select campo/s from tabla where campo_en_el_k_buskar LIKE '%".$_POST[palabra]."%'") or die (mysql_error());//realizamos la consulta
if(mysql_num_rows($resp) == "0") {//comprobamos si hay respuestas
 
echo "No hay resultados";
} else {
echo 
"Estos son los resultados de la buskeda:<br>";
while(
$sql mysql_fetch_array($resp)) {//imprimimos las respuestas
  
echo "-".$sql[titulo]."<br>";
  }
echo 
"<b>Ya no hay mas resultados</b>";
}
}
?>

EXPLICACION
------------
-->Antes de nada hemos incluido el archivo de conexion a la base de datos
-->Bien lo primero k acemos es comprobar k an pulsado el submit en
el formulario.A continuacion creamos la sentencia sql para la buskeda
recuerda cambiarle "campo" tambien debes cambiar "tabla" y "campo_en_el_k_buskar".
-->Despues de esto esta la comprobacion de que se hayan devuelto respuestas y para eso utilizamos
 
mysql_num_rows()

y lo igualamos ha 0, si es igual ha 0 significa que no hay respuestas e imprimimos un mensaje advirtiendolo
-->Cerramos el if y abrimos un else para que en caso contrario haga lo que le ordenemos
-->Despues de eso usamos el echo pa indicar k komienzan las buskedas,
no se t okurra meterlo en el bucle ke viene a continuacion,
xk sino saldria esto:
Estos son los resultados de la buskeda:
buskeda
......
y asi asta k se acabaran las buskedas
-->Explikemos el while, en el bucle while lo k acemos es aplicarle
una variable($sql) a mysql_fetch_array k es el encargado de sacar los
datos en forma d array ($sql[campo_en_el_k_buskar])
-->Lo k viene despues es la impresion d los resultados obtenidos
Si te fijas ai algo raro como:

  echo "-".$....

Bien ¿que significa esto? pues estamos concatenando que es muxo mejor
a la hora d programar
-->Ahora ta lo importante:

$sql[campo_en_el_k_buskar]

---> campo_en_el_k_buskar <----
eso debes d cambiarlo x ejemplo si en la sentencia sql as puesto

mysql_query("select campo/s from tabla where titulo LIKE '%".$_POST[palabra]."%'")

Pues debes de cambiar lo de
---> campo_en_el_k_buskar <----
por titulo

-->A continuacion cerramos el bucle while e imprimimos un mensaje d k no existen mas resultados

-->Cerramos la llave del else

-->Despues cerramos el if abierto y ya ta exo el buscador interno

-->Para mejorarlo ya seria conveniente meterle una paginacion
__________________
Solo por Hoy: Trataré de fortalecer mi mente. Estudiaré y aprenderé algo útil
Hoteldipity
Arte Caracol
  #3 (permalink)  
Antiguo 17/07/2009, 12:28
Avatar de Rubil  
Fecha de Ingreso: octubre-2008
Mensajes: 23
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Buscador de notas de PHP

bueno ... entendistes algo ?
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 10:01.