Foros del Web » Programando para Internet » PHP »

buscador con postgres

Estas en el tema de buscador con postgres en el foro de PHP en Foros del Web. Hola, necesito algo de ayuda para crear un buscador, pero las BD esta en postgres entonces necesito alguna guia o algo que ustedes tengan saludos!...
  #1 (permalink)  
Antiguo 17/03/2011, 12:30
Avatar de xamilo  
Fecha de Ingreso: febrero-2010
Mensajes: 120
Antigüedad: 14 años, 2 meses
Puntos: 1
buscador con postgres

Hola, necesito algo de ayuda para crear un buscador, pero las BD esta en postgres
entonces necesito alguna guia o algo que ustedes tengan


saludos!
__________________
- Ingeniero en Informática -
  #2 (permalink)  
Antiguo 17/03/2011, 16:08
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: buscador con postgres

Nunca he usado PostgreSQL, pero tu mismo podrias darte darnos mas pistas, por ejemplo, como filtras los resultados?, hay una clausula WHERE disponible para ejecutar las consultas?
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 18/03/2011, 09:07
Avatar de xamilo  
Fecha de Ingreso: febrero-2010
Mensajes: 120
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: buscador con postgres

mira hasta ahora tengo lo básico, pero necesito alguna guía
Código HTML:
Ver original
  1. <form name="buscador" method="post" action="buscar.php"><br>
  2.  
  3. Buscar por patente : <input type="text" name="palabra"><br>
  4. <input type="submit" value="Enviar" name="enviar">
  5. </form>

Código PHP:
Ver original
  1. $query = "SELECT * from flota.viajes WHERE vehi_patente LIKE '%{$_POST['palabra']}%'";
  2. $result = pg_query($query);
  3.  
  4. if ($_POST["enviar"] == 'Enviar' )
  5. {
  6. while ($row = pg_fetch_array($result)) {
  7.             //** aca preguntar por $row para ver los
  8.                 resultados que, si no encuentra mostrar mensaje de "no conicidencias"
  9.  
  10. }
  11.  
  12. }

creo que me estoy confundiendo
__________________
- Ingeniero en Informática -
  #4 (permalink)  
Antiguo 18/03/2011, 09:56
 
Fecha de Ingreso: marzo-2011
Ubicación: Veracruz
Mensajes: 92
Antigüedad: 13 años, 1 mes
Puntos: 3
Respuesta: buscador con postgres

Ok, primero te recomiendo que guardes en una variable antes la palabra que se recibe del form:

$palabra = $_POST['palabra'];

Despues

$query = "SELECT * from flota.viajes WHERE vehi_patente LIKE %$palabra%'";

en lo anterior le dices que busque en el campo vehi_patente los registros que contengan en medio $palabra.

Si pusieras $palabra% entonces buscará los registros que comiencen con la $palabra y %$palabra los que finalicen con $palabra.

Despues dices que quieres ver si existen coincidencias o no para que te mande un mensaje, primero podrías checar el número de resultados que te da tal query.

$total = pg_num_rows($result);

if($total!=0){

while ($row = pg_fetch_array($result)) {
//* aca preguntar por $row para ver los
resultados que, si no encuentra mostrar mensaje de "no conicidencias"
}

} else {
echo "No se encontraron resultados";
}

Me parece que con lo anterior ya tendrás una base más solida para lo que quieres hacer.

Saludos.
  #5 (permalink)  
Antiguo 18/03/2011, 15:03
Avatar de xamilo  
Fecha de Ingreso: febrero-2010
Mensajes: 120
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: buscador con postgres

perfecto ahora si me esta buscando

pero algo esta mal pues solo me busca 1 resultado
Código PHP:
Ver original
  1. if ($_POST['palabra'] == null)
  2.     echo "necesita escribir algo, para buscar";
  3. else
  4. {
  5.     $total = pg_num_rows($result); // creo k aca esta el error
  6.     if($total != 0)
  7.     {
  8.         while ($row = pg_fetch_array($result)) {
  9.               echo "Pantente : $row[1]";
  10.              echo "<br />\n";
  11.              echo $total;
  12.         }
  13.     }
  14.     else{
  15.      echo "No se encontraron resultados";
  16.     }
  17. }

no estoi recorriendo vien el while creo...
__________________
- Ingeniero en Informática -
  #6 (permalink)  
Antiguo 18/03/2011, 17:28
 
Fecha de Ingreso: marzo-2011
Ubicación: Veracruz
Mensajes: 92
Antigüedad: 13 años, 1 mes
Puntos: 3
Respuesta: buscador con postgres

Si solo te aparece 1 resultado es porque solo hay una coincidencia, me imagino que cuando imprimes $total debe de ser 1.

Ahora aqui:

while ($row = pg_fetch_array($result)) {
echo "Pantente : $row[1]";
echo "<br />\n";
echo $total;
}

Si usas pg_fetch_array debes imprimir asi los resultados $row['nombre_campo'], para imprimir asi $row[1] debes usar pg_fetch_row
  #7 (permalink)  
Antiguo 21/03/2011, 06:52
Avatar de xamilo  
Fecha de Ingreso: febrero-2010
Mensajes: 120
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: buscador con postgres

gracias men!
problema resuelto :P
__________________
- Ingeniero en Informática -

Etiquetas: postgres, buscadores
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:10.