| |||
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 |
| |||
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 |
| |||
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 |
| ||||
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: 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.
Iniciado por lizalina Quisiera (...) que me despliegue la informacion en la misma pagina que tengo Cita: 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.
Iniciado por lizalina El problema que tengo es que solo funciona para una sola tabla 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: ¿Qué es cualquier información?.. puedes poner un ejemplo más concreto?
Iniciado por lizalina Quisiera poder seleccionar cualquier informacion en el buscador Saludos Última edición por jpinedo; 15/08/2004 a las 10:51 |
| |||
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 |
| |||
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, |