Foros del Web » Programando para Internet » PHP »

sistema de busqueda

Estas en el tema de sistema de busqueda en el foro de PHP en Foros del Web. Me gustaría saber como empezar hacer un sistema de búsqueda que en vez de que se proceses texto que se muestre una foto o varias, ...
  #1 (permalink)  
Antiguo 12/09/2011, 14:39
Avatar de fermin3d  
Fecha de Ingreso: octubre-2010
Ubicación: sevilla
Mensajes: 141
Antigüedad: 13 años, 6 meses
Puntos: 4
Información sistema de busqueda

Me gustaría saber como empezar hacer un sistema de búsqueda que en vez de que se proceses texto que se muestre una foto o varias, según la búsqueda y que dicha foto lleve a un enlace.
E visto varios sistema de cómo hacer en motor de búsquedas pero si busco una foto como la muestro si dicha foto esta en mi Web.
Espero verme explicado bien ya que lo único que quiero es almacenar fotos en una carpeta en mi Web y mostrarlas con su enlace correspondiente, según el criterio de búsquedas.


Muchas gracias de antemano.
  #2 (permalink)  
Antiguo 12/09/2011, 14:53
Avatar de JuJoGuAl  
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 14 años, 9 meses
Puntos: 19
Respuesta: sistema de busqueda

Bueno es lo mismo que buscar texto, con la diferencia que si por ejemplo buscas una foto de Iglesia tu tienes q tener en tu BD registro de fotos q tengan como palabra clave iglesia, y de arrojar resultados la busqueda tu muestras algo asi:

Código PHP:
Ver original
  1. <img src="<?PHP echo $rowimagen['ruta'].$rowimagen['imagen']; ?>">

claro en tu bd tendrias que tener guardada la ruta de la imagen y su nombre o solo el nombre ya eso sera cuestion tuya...

pero la idea es la misma un campo donde el sistema buscara si encuentra resultados haces un for o un do que por cada resultado q encuentre muestra la foto y otros datos mas (si quieres que lo haga) y a la foto le haces un enlace....

Si has hecho sistemas de busquedas de Texto, sabras que es igual, Empieza a armar algo de codigo y cuando te trabes preguntas y con gusto se te rspondera...
  #3 (permalink)  
Antiguo 12/09/2011, 16:48
Avatar de fermin3d  
Fecha de Ingreso: octubre-2010
Ubicación: sevilla
Mensajes: 141
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: sistema de busqueda

Muchas gracias JuJoGuAl por responder sali de algunas dundas que tenia y aora me surjen aver si me puedes explicar cuando pones el codigo
Código PHP:
Ver original
  1. <img src="<?PHP echo $rowimagen['ruta'].$rowimagen['imagen']; ?>">
te refieres a esto
Código PHP:
Ver original
  1. <img src="<?PHP echo $rowimagen['imagenes/iglesia.png'].$rowimagen['y aqui el nombre de la bd?']; ?>">
si es asi, aunque realice una busqueda en una parte de la web que no se encuentra la imagen la base de dato la busca y te la muestra en dicho sistema de busqueda verdad?

espero me comprendas


muchas gracias.
  #4 (permalink)  
Antiguo 12/09/2011, 17:05
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: sistema de busqueda

Saludos

Lo que JuJoGuAl te indico fue un ejemplo de como prodrias halar campos de tu base de datos. Los posibles campos son ruta y imagen, que como bien indica es la mejor manera de manejarlo para tus busquedas y para el manejo de archivos.

Ahora debes es crear tu tabla y modificar tu codigo para que cuando guarde el arhivo en el fichero, escriba tambien en la base de datos la ubicacion y el nombre del archivo.
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #5 (permalink)  
Antiguo 13/09/2011, 07:15
Avatar de JuJoGuAl  
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 14 años, 9 meses
Puntos: 19
Respuesta: sistema de busqueda

Cita:
Iniciado por fermin3d Ver Mensaje
Muchas gracias JuJoGuAl por responder sali de algunas dundas que tenia y aora me surjen aver si me puedes explicar cuando pones el codigo
Código PHP:
Ver original
  1. <img src="<?PHP echo $rowimagen['ruta'].$rowimagen['imagen']; ?>">
te refieres a esto
Código PHP:
Ver original
  1. <img src="<?PHP echo $rowimagen['imagenes/iglesia.png'].$rowimagen['y aqui el nombre de la bd?']; ?>">
si es asi, aunque realice una busqueda en una parte de la web que no se encuentra la imagen la base de dato la busca y te la muestra en dicho sistema de busqueda verdad?

espero me comprendas


muchas gracias.
No lo que te quise decir es por ejemplo en una tabla de tu BD tu tienes tus imagenes y la tabla es mas o menos asi:
Tabla:imagenes
ID * COMENTARIOIMAGEN * RUTA * IMAGEN
1 * iglesia * imagenes/centros/ * iglesia.jpg
2 * casa * imagenes/lugares/ * casa1.jpg
....

entonces tu busqueda deberia buscar en comentarioimagen:

SELECT * FROM imagenes WHERE comentarioimagen is like %$variable%

entonces si la variable (variable que es recogida de un Form) tiene la palabra iglesia. va a regresar el registro 1

entonces para poderlo mostrar hago un echo pero como es una imagen obviamente lo hago dentro del SRC de la imagen asi:

Código PHP:
Ver original
  1. <img src="<?PHP echo $rowimagen['ruta'].$rowimagen['imagen']; ?>">

asi le digo al php q muestres la imagen q esta en la ruta especificada la imagen seleccionada, eso es en el caso de que guardes la ruta en la base de datos, pero si en la base de datos no guardas la ruta solo el nombre de la imagen, quedaria algo asi:

Código PHP:
Ver original
  1. <img src="imagenes/centros/<?PHP echo $rowimagen['imagen']; ?>">

Entonces tu ruta seria fija y obviamente lo que jalarias de la Bd seria la imagen como tal...

Espero te sirva, Pregunta si tienes duda...
  #6 (permalink)  
Antiguo 13/09/2011, 09:46
Avatar de fermin3d  
Fecha de Ingreso: octubre-2010
Ubicación: sevilla
Mensajes: 141
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: sistema de busqueda

hola muchas gracias aora lo vi un poco mas claro ya que a pesar de no tener ni idea de conocimientos de php intento avanzar, aunque lentamente

Mira me sale un erro de la lina 14 y seguro que es por culpa del php que puse espero me ayuden gracias


Código PHP:
Ver original
  1. aqui va la imagen linea 14 ---------<img src="<?PHP echo $rowimagen['nombre']; ?>">
  2.  
  3. <?php
  4.     $host = "localhost";
  5.     $user = "tupiezac";
  6.     $pwd = "contraseña";
  7.     $link = mysql_connect( $host, $user, $pwd ) or die( "Error de conexion: " . mysql_error() );
  8.     $sql = "SELECT tupiezac_imagen FROM nombre WHERE nombre='".$nombre."'";
  9.     $result= mysql_query($sql,$conex);
  10.     while ($row = mysql_fetch_array($result)) {
  11.     echo $row["nombre"];
  12.     }
  13. ?>
luego e creado una base de dato llamada tupiezac_imagen y una tabla llamada nombre donde guardo la ruta de la imagen.

perdonen las molestias por mis poco conocimientos.

muchas gracias a todos y a JuJoGuAl
  #7 (permalink)  
Antiguo 13/09/2011, 10:39
Avatar de JuJoGuAl  
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 14 años, 9 meses
Puntos: 19
Respuesta: sistema de busqueda

luego e creado una base de dato llamada tupiezac_imagen y una tabla llamada nombre donde guardo la ruta de la imagen.

si es asi como dijiste el select esta malo.

Recuerda q los select son: SELECT CAMPO1,CAMPO2, CAMPOn... (* asterico si selecccionaras todos los campos) FROM TABLA WERE CAMPO1=VALOR (CONDICION)

El rojo es condicion es decir puede ser un where campo=1 o campo!=1 o cualquier otra q necesites...
el * se coloca SELECT * .... cuando quieres recoger todos los campos

haber te pasare n breve ejemplo:

Imagina q tienes un formulario donde e campo CRITERIO es donde las personas escriben lo q quieren buscar...

entonces tienes q tener en tu base de datos una tabla llamada IMAGENES con los campos RUTA, IMAGEN, COMENTARIO. en comentario van las palabras que son palabras claves..

ahora el codigo seria algo:

Código PHP:
Ver original
  1. $dato= $_POST['criterio'];
  2. mysql_select_db($database_Conexion, $Conexion);
  3. $queryimagen = "SELECT * FROM imagenes WHERE COMENTARIO IS LIKE %'$dato'%";
  4. $imagenq = mysql_query($queryimagen, $Conexion) or die(mysql_error());
  5. $rowimagen = mysql_fetch_assoc($imagenq);
  6. $totalRows_imagen = mysql_num_rows($imagenq);

entonces si hay rsultado

Código PHP:
Ver original
  1. if($totalRows_Producto!=0)
  2. {
  3. // como hay mas 1 un registro en la BD hare un DO para mostrar todas las imagenes encontradas:
  4. do
  5. {
  6. ?>
  7. <img src="<?PHP echo $rowimagen['ruta'].$rowimagen['imagen']; ?>">
  8. <?php
  9. }
  10. while ($rowimagen = mysql_fetch_assoc($imagenq));
  11.  
  12. }

Cuando obtengas un error debes mostrarlo de resto no podre saber q exactamente esta pasando...
  #8 (permalink)  
Antiguo 14/09/2011, 16:27
Avatar de fermin3d  
Fecha de Ingreso: octubre-2010
Ubicación: sevilla
Mensajes: 141
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: sistema de busqueda

Hola muchas gracias por la ayuda.
la verdad no me a dado mucho tiempo de repasar un poco mas de php y msql pero espero ir poco a poco
Aora estoy intentado que me muestre un (dato cualquiera) y asi hago la consulta
Código PHP:
Ver original
  1. <?php
  2.     $host = "localhost";
  3.     $user = "fermin3";
  4.     $pwd = "contraseña";
  5.     mysql_connect($host,$user,$pwd) or die( "Error de conexion: " . mysql_error() );
  6.     $result = mysql_db_query("tupiezac_mydb","select nombre from agenda") or die( "Error de conexion: " . mysql_error() );
  7.     while($row = mysql_fetch_array($result)) {
  8.     $foto = $row["FOTO"];
  9.     }
  10.     mysql_free_result($result);
  11. ?>
y aqui en html
Código HTML:
Ver original
  1. <table border="1px">
  2. <tr>
  3. <td><?php echo'$foto'; ?></td>
  4. <td>Celda 2</td>
  5. <td>Celda 3</td>
pero solo me muestra en la celda 1 $foto

muchas gracias.
  #9 (permalink)  
Antiguo 14/09/2011, 16:30
Avatar de JuJoGuAl  
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 14 años, 9 meses
Puntos: 19
Respuesta: sistema de busqueda

haber si en el select pides nombre porq mandas a mostrar FOTO?

Código PHP:
Ver original
  1. $result = mysql_db_query("tupiezac_mydb","select nombre from agenda") or die( "Error de conexion: " . mysql_error() );7.    while($row = mysql_fetch_array($result)) {8.    $foto = $row["FOTO"];

no deberia ser asi?

Código PHP:
Ver original
  1. $result = mysql_db_query("tupiezac_mydb","select nombre from agenda") or die( "Error de conexion: " . mysql_error() );7.    while($row = mysql_fetch_array($result)) {8.    $foto = $row["nombre"];

recuerda q en ROW pones el nombre de la columna que estas pidiendo y como en el select solo has pedido nombre pues solo obtendras el campo NOMBRE....

es de logica, recomiendo que te pases por los manuales de PHP y MYSQL, las nociones basicas porque todo esto que preguntas ta esta plasmado en MUCHISIMAS web muchas guias, asi que lee un poco antes de hacer algo para que no estes tirando tantas flechas.
  #10 (permalink)  
Antiguo 14/09/2011, 16:31
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 4 meses
Puntos: 51
Respuesta: sistema de busqueda

Probá con esto:

Código HTML:
Ver original
  1. <table border="1px">
  2. <tr>
  3. <td><?php echo $foto; ?></td>
  4. <td>Celda 2</td>
  5. <td>Celda 3</td>
  #11 (permalink)  
Antiguo 14/09/2011, 16:54
Avatar de fermin3d  
Fecha de Ingreso: octubre-2010
Ubicación: sevilla
Mensajes: 141
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: sistema de busqueda

ssiii es verdad ya te dije ante que tenia que dar un repaso a todo php y msql ya que apenas e tenido mucho tiempo y la verdad eso de foto pues un error muy grave si.


muchas gracias walterdevel y JuJoGuAl.

Etiquetas: sistema, busquedas
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 17:43.