Foros del Web » Programando para Internet » PHP »

Otro favooooooooor

Estas en el tema de Otro favooooooooor en el foro de PHP en Foros del Web. Necesito hacer un buscador en php con mysql que me pueda sacar lso resultados con fotografia y mas, lo necesito para una tienda virtual que ...
  #1 (permalink)  
Antiguo 14/08/2004, 17:49
 
Fecha de Ingreso: enero-2004
Mensajes: 230
Antigüedad: 20 años, 9 meses
Puntos: 0
Otro favooooooooor

Necesito hacer un buscador en php con mysql que me pueda sacar lso resultados con fotografia y mas, lo necesito para una tienda virtual que estoy montando, si me pueden ayudar a hacerlo se los agradeceria en el alma
  #2 (permalink)  
Antiguo 14/08/2004, 18:38
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 21 años, 2 meses
Puntos: 41
Sería bueno que concretes exactamente en qué se te puede ayudar. O sea, pones lo que has intentado hacer o lo que pretendes hacer para resolver tu problema.

Saludos
  #3 (permalink)  
Antiguo 14/08/2004, 21:04
 
Fecha de Ingreso: enero-2004
Mensajes: 230
Antigüedad: 20 años, 9 meses
Puntos: 0
Haber, lo que tengo es una base de datos en mysql la cual llene con productos para la tienda virtual, lo que necesito es un buscador interno que pueda extraer esa infomracion de la base de datos como por ejemplo si busco algun producto x me salga ese producto o todos los relacionados con sus caracteristicas precio y la foto. Como cualquier buscador de las tiendas virtuales. Gracias por la ayuda
  #4 (permalink)  
Antiguo 14/08/2004, 22:33
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 21 años, 1 mes
Puntos: 1
aun te hace falta informacion. Sabes algo de PHP?? o tu interes es que alguien te ponga el codigo que tu simplemente copies para usarlo??

Cuando recien inicie en PHP tuve esa necesidad, te voy a facilitar un poco las cosas para una posible solucion de tantas que hay.

Necesitas:
1. En la base de datos guardar en una tabla que se llame productos o algo similar, el nombre, descripcion y ruta(path) a la foto en cuestion. Es la informacion minima. Los campos serian 'productId', 'productName', 'productDesc' y 'productPhoto'.

2. Haces un formulario donde metes tu buscador que manda llamar al script searchResults.php.

3. En searchResults.php obtienes lo que el usuario desea buscar por medio de $_POST o $_GET, como desees.

4. Usas en tu consulta SQL la palabra o palabras que desea buscar el usuario, algo asi:

Código PHP:
$search $_POST['search'];
$sql "SELECT * FROM products WHERE productName LIKE ' %".$search."%'"
y luego muestras los resultados, ya teniendo el Id del producto, cuando hagan click en el deseado puedes llamar details.php?id=productId y despliegas la info.

Eso es muuuuy basico, puedes usar consultas mas avanzadas para buscar exactamente lo que deseas.

Pero como te digo, das poca info.

UN saludo
  #5 (permalink)  
Antiguo 15/08/2004, 09:42
 
Fecha de Ingreso: enero-2004
Mensajes: 230
Antigüedad: 20 años, 9 meses
Puntos: 0
Gracias por la info que me dan, recien comienzo con esto y se me hace un cachin dificil aho les envio el codigo del buscador que hice y los resultados que me despliega:

<?
// Buscador para tablas MySQL escrito en PHP. Por Alex para www.webtaller.com
// Creado el 13-10-2003


////////////////////////////
// Configuración
///////////////////////////



$bd_servidor = "localhost";


$bd_usuario = "root";


$bd_contrasenya = "password";


$bd_bdname = "buscar";


$bd_tabla = "instrumentos";




$link = mysql_connect($bd_servidor,$bd_usuario,$bd_contras enya);

mysql_select_db($bd_bdname,$link);

////////////////////////////
// Formulario
///////////////////////////

?>

<center>
<p><h2>Introduce las palabras para la búsqueda</h2></p>
<p><form name="buscador" method="post" action="buscador_generico.php"><br>
Buscar en:
<select name="campo">
<?php

//Aqui obtengo los resultados segun la tabla que especifique mas arriba

$result = mysql_query("SHOW FIELDS FROM `$bd_tabla`",$link);

while($row = mysql_fetch_row($result)) {



?>
<option value="<?php echo $row[0]; ?>"><?php echo $row[0]; ?></option>
<?php

}

?>
</select>
Palabra(s): <input type="text" name="palabra"><br>
<input type="submit" value="Enviar" name="enviar">
</form></p>
</center>

<?

////////////////////////////
// Proceso del Formulario
///////////////////////////

if(isset($_POST['enviar'])) {



$query = "SELECT * from $bd_tabla WHERE {$_POST['campo']} LIKE '%{$_POST['palabra']}%'";

$result = mysql_query($query,$link);



$found = false;

while ($row = mysql_fetch_array($result)) {

$found = true;

echo "<p>";

foreach($row as $nombre_campo => $valor_campo) {




if(is_int($nombre_campo)) {

continue;
}

echo "<b>".$nombre_campo."</b> : ".$valor_campo."<br>";
}

echo "</p>";

}

if(!$found) {

echo "No se encontró la palabra introducida";

}

}
?>

El problema que tengo es que solo funciona para una sola tabla y la informacion que me despliega se muestra segun un combo en el cual selecciono los campos que tengo en la tabla, los cuales son id, Nombre, descripcion, foto, precio. y me sale en una pagina diferente a la pagina que cree, ademas que no puedo cargar los links para las fotos. Quisiera poder seleccionar cualquier informacion en el buscador y que me despliegue la informacion en la misma pagina que tengo

Gracias y disculpas por las molestias
  #6 (permalink)  
Antiguo 15/08/2004, 10:50
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 21 años, 2 meses
Puntos: 41
Lo primero que tienes que hacer es conocer el SQL que necesitas para obtener los resultados que quieres.
El buscador que tú pones, busca en una tabla que defines al comienzo, y en un campo específico que seleccionas en el comboBox.
En realidad, se podría decir que esa es la forma en que trabaja un buscador.

Cita:
Iniciado por lizalina
Quisiera (...) que me despliegue la informacion en la misma pagina que tengo
Según lo que se ve, debería mostrar los resultados en la misma página. Todo el código ponlo en el mismo archivo y llámalo "buscador_generico.php". Si quisieras cambiarle de nombre al archivo, también deberás cambiar el nombre al que apunta el "action" del formulario.

Cita:
Iniciado por lizalina
El problema que tengo es que solo funciona para una sola tabla
Es que así debe ser. Debes tener una tabla con la información que puede buscar el usuario. Si quieres buscar en más tablas (?) puedes dejar que el valor de $bd_tabla se establezca dinámicamente según alguna elección del usuario... o hacer una consulta más compleja.

Lo que no me parece buena idea es dejar que se vean todos los nombres de campos y tablas. Las búsquedas debes restringirlas tú.

Cita:
Iniciado por lizalina
Quisiera poder seleccionar cualquier informacion en el buscador
¿Qué es cualquier información?.. puedes poner un ejemplo más concreto?

Saludos

Última edición por jpinedo; 15/08/2004 a las 10:51
  #7 (permalink)  
Antiguo 15/08/2004, 15:02
 
Fecha de Ingreso: enero-2004
Mensajes: 230
Antigüedad: 20 años, 9 meses
Puntos: 0
Bueno, primero que nada muchas garcias por las aclaraciones, el buscar cualquier infomracion me refiero a que un usuario pueda buscar informacion acerca de precios de los productos, asi como tambien cualquier producto que tenga
  #8 (permalink)  
Antiguo 15/08/2004, 15:20
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
lizalina ...

Debes entender que si trabajas con Base de datos .. esas "busquedas de información" en lenguaje "técnico" son consultas SQL que debes hacer a tu tabla(s) implicadas de tu modelo de datos que diseñastes para tu BD de tu aplicación.

Si han de "buscar" .. las consultas SQL son de tipo "condicional" para que apliques bajo que condiciones se ha de "encontrar" el dato .. ejemplo bajo la condición del que "el campo tal .. tenga el valor tal ..." y/o "otro campo .. tenga el valor tal .. o contenga el valor tal ... o parte de tal valor ..."..

Todo eso lo veras en manuales de SQL de tu BD (Mysql?) .. no en uno de PHP .. PHP tan sólo te pone a tu disposición las funciones para que accedas a tu BD y "ejecutes" esas consultas SQL y obtengas los valores que esta devuelva.

Te recomiendo la lectura de manuales sobre BD (SQL, normalización .. diseño) de:
www.mysql-hispano.com

Un saludo,
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 14:10.