Foros del Web » Programando para Internet » PHP »

como hacer un buscador php y mysql

Estas en el tema de como hacer un buscador php y mysql en el foro de PHP en Foros del Web. hola necesito que me colaboren en la creacion de un buscador , he hecho de todo y no me funciona nada. lo que quiero es ...
  #1 (permalink)  
Antiguo 09/02/2009, 20:42
 
Fecha de Ingreso: enero-2009
Mensajes: 18
Antigüedad: 15 años, 3 meses
Puntos: 0
como hacer un buscador php y mysql

hola

necesito que me colaboren en la creacion de un buscador , he hecho de todo y no me funciona nada.
lo que quiero es que en un campo text excribir la cedula y que luego me muestre los registros de las tablas.

lo que he hecho hasta ahora es esto.

formulario.html

<FORM METHOD=POST ACTION="buscar.php">
Buscar: <INPUT TYPE="text" NAME="busqueda">
</FORM>


buscar.php
<? include "conex.php";
$result=mysql_query("select * from cliente,control where cedula='$txtbuscar'");
if!(mysql_fetch_array($result)){
echo"cliente no registrado";
} else{
echo "cedula:".$row['cedula'];
echo"nombre:".$row['nombre'];
}
?>

parece que es un buscador simple , aunque de simple no le veo nada por que no he podido con esto.

saludo yde antemano gracias por su colaboracion .
  #2 (permalink)  
Antiguo 10/02/2009, 11:19
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 18 años, 10 meses
Puntos: 7
Respuesta: como hacer un buscador php y mysql

prueba a poner asi el buscar.php
Código PHP:
<? include "conex.php";
$txtbuscar=$_GET['busqueda'];
$result=mysql_query("select * from cliente,control where cedula='$txtbuscar'");
if!(
mysql_fetch_array($result)){
echo
"cliente no registrado";
} else{
echo 
"cedula:".$row['cedula'];
echo
"nombre:".$row['nombre'];
}
?>
con esto deberia funcionar, lo que sucedia es que no recogias en buscar.php la variable.

Saludos.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
  #3 (permalink)  
Antiguo 10/02/2009, 20:30
 
Fecha de Ingreso: enero-2009
Mensajes: 18
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: como hacer un buscador php y mysql

hola,
muchas gracias por contestarme, hice las correcciones pero no me funciona . me sale este error

parse error:unexpected '!', expecting on line 4

le quite el '!' y me salieron muchos errores

saludos.
  #4 (permalink)  
Antiguo 10/02/2009, 20:51
 
Fecha de Ingreso: enero-2005
Mensajes: 14
Antigüedad: 19 años, 3 meses
Puntos: 0
Respuesta: como hacer un buscador php y mysql

es porque

if(!mysql_fetch_array($result)){

reemplaza.
  #5 (permalink)  
Antiguo 10/02/2009, 23:02
 
Fecha de Ingreso: febrero-2009
Ubicación: Cusco - Peru
Mensajes: 142
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: como hacer un buscador php y mysql

lo mismo iva a decir en tu sentencia if tu signo de admiracion va adentro:
Código PHP:
if!(mysql_fetch_array($result)) 
deberia de ser:
Código PHP:
if(!mysql_fetch_array($result)) 
Simple pero siempre nos pasa
  #6 (permalink)  
Antiguo 11/02/2009, 01:01
machoman112233
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: como hacer un buscador php y mysql

Aqui el mio... aunque puede que se pueda depurar mas... Si buscar un frase vas a tener que usar MATCH AGAINST en el MySQL... si es solo una palabra con LIKE tienes suficiente....

Código php:
Ver original
  1. <?php
  2.     $busqueda=$_POST["buscar_texto"];
  3.  
  4.     $partes=explode(" ",$busqueda);
  5.     $numero=count($partes);
  6.  
  7.     if($numero==1)
  8.     {
  9.         $cadbusca="SELECT * FROM tema WHERE  titulo LIKE '%".$busqueda."%' OR contenido LIKE '%".$busqueda."%' LIMIT 50";
  10.     }
  11.  
  12.     elseif ($numero>1)
  13.     {
  14.         $cadbusca="SELECT *  FROM tema WHERE MATCH (titulo,contenido) AGAINST ('".$busqueda."' IN BOOLEAN MODE) ORDER BY id_tema DESC LIMIT 50";
  15.     }
  16.     $result=mysql_query($cadbusca);
  17.     $filas=mysql_num_rows($result);
  18.    
  19.     if($filas==0)
  20.     {
  21.         echo "<h3><span style='color: red;'>No se ha encontrado ningun tema</span></h3>";
  22.     }
  23.     else
  24.     {
  25.         echo "<h2>Resultados de la busqueda...</h2>";
  26.         echo "<h3>Total temas encontrados: <strong>".$filas."</strong></h3>";
  27.         echo "<table>";
  28.         echo "<tr><th>Imagen</th><th>Titulo</th><th>Fecha publicacion</th></tr>";
  29.         While($row=mysql_fetch_assoc($result))
  30.         {
  31.             echo "<tr><td><img src='".$row["imagen"]."' alt='' width='100' height='66'/></td>
  32.                   <td><a href='post.php?id=".$row["id_tema"]."'>".$row["titulo"]."</a></td>
  33.                   <td>".$row["fecha"]."</td></tr>";
  34.         }
  35.         echo "</table>";
  36.     }
  37.  
  38.     mysql_free_result($result);
  39.     ?>
  #7 (permalink)  
Antiguo 11/02/2009, 12:34
 
Fecha de Ingreso: febrero-2009
Ubicación: Santa fe
Mensajes: 16
Antigüedad: 15 años, 2 meses
Puntos: 0
como hacer un buscador php y mysql

yo utilice este buscar con una base de datos de animes... fijate si podes sacar algo

Código php:
Ver original
  1. <?php
  2. require_once("template.php");
  3. require_once("conexionA.php");
  4. require_once("funcA.php");
  5.  
  6.  
  7.     //recupero todas las variables que viajaron en el $request 
  8.     foreach($_REQUEST as $k=>$v) $$k=$v;
  9.     $ADODB_FETCH_MODE = 'ADODB_FETCH_ASSOC';
  10.     $error="";
  11.     //blanqueo los filtros
  12.     set_file("b","listado_anime.html");
  13.     set_var("error","$error");
  14.     set_var("tituloB","$tituloB");
  15.     set_var("generoB","$generoB");
  16.     set_var("listAnime","");
  17.     $cont=0;
  18.     //busco los datos
  19.     //si apretó el boton buscar armo la lista
  20.     if (isset($_REQUEST['buscar'])) {
  21.     $query = "SELECT * FROM animes WHERE 1=1 ";
  22.     if(empty($tituloB))
  23.         {   if(empty($generoB)) { message('vacio',"");
  24.             //echo "No se ha ingresado una cadena a buscar";
  25.             } else {
  26.             //titulo vacio genero no
  27.                 if($tituloB or $generoB) $query.= " and genero LIKE '$generoB'";           
  28.                 $sql= $conexionA->Execute($query);
  29.                 foreach ($sql as $res)
  30.                 {
  31.                  setAll($res,"listAnime");
  32.                 }
  33.                         $find= (int) buscar($sql);
  34.         limpio($tituloB,$generoB);
  35.         if($find==0) message('buscar',$tituloB);
  36.             }
  37.         }else {//titulo no vacio genero ??        
  38.             if($tituloB) $query.= " and titulo LIKE '%".$tituloB."' ";
  39.             $sql= $conexionA->Execute($query);
  40.                 foreach ($sql as $res)
  41.                 {
  42.                  setAll($res,"listAnime");
  43.                 }
  44.                 $find= (int) buscar($sql);
  45.         limpio($tituloB,$generoB);
  46.         if($find==0) message('buscar',$tituloB);   
  47.     }
  48.        
  49.     }      
  50.    
  51.     pparse("b");
  52.  
  53.  
  54.  
  55.    
  56. ?>

PD: setAll es una funcion que acomoda los datos en el bloque html,yo la tengo en funciones.php

function setAll($ar,$blo)
{

foreach($ar as $clave=>$valor)
{
set_var($clave,$valor);

}

parse($blo);

}

Última edición por candyvf; 11/02/2009 a las 16:30 Razón: me olvide de algo y para no repetir... :P
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 02:58.