Comunidad de diseño web y desarrollo en internet online

buscador php mysql

Citar            
MensajeEscrito el 10 Nov 2009 12:17 am
Hola.

Soy bastante novato en el tema y necesito ayuda.

Estoy trabajando en una base de datos mysql, y queria ponerle un buscador de productos sencillo que he encotrado por ahi. El buscador que estoy configurando hace la busqueda perfectamente. Pero me muestra los resultados en una ventana nueva y yo queria que me los mostrara en la seccion.

Supongo que en el archivo buscador.php tengo que programar la ruta para que muestre el listado de productos. Pero no me sale.

-------------------------------------
Asi esta programada my web
<?php
include("sec_din/librerias/sesion.php");
include("sec_din/librerias/funciones.php");

if(isset($_GET['s']))
{
$seccion = str_replace("http://", "", strtolower($_GET['s']));
if(isset($_GET['sel'])) eval('$'.$_GET['sel'].' = "class=\'activo\'";');
}
else
{
$seccion = "inicio.html";
$ms1 = "class='activo'";
}
?>

<html>
<head></head>
<body>
<table border="0" width="85%" height="100%" align="center">
<tr>
<td colspan="2" width="80%" height="80" align="center" ><? include("menu_sup.html"); ?></td>
</tr>
<tr>
<td width="25%" valign="top">
<? include("buscador.php"); ?>
<? include("menu_izq.php"); ?>
</td>
<td width="75%" height="100%" align="center" style="margin:0; overflow:hidden;"><? include($seccion); ?>
</td>
</tr>
<tr>
<td height="14" colspan="2" align="center"><? include("pie.html") ?></td>
</tr>
</table>
</body>
</html>

---------------------------------------
este es el buscador.php

<?
$bd_servidor = "localhost";

$bd_usuario = "root";

$bd_contrasenya = "";

$bd_bdname = "bd_24";

$bd_tabla = "productos"; // Tabla donde se harán las búsquedas

// Conexión y selección de la base de datos

$link = mysql_connect($bd_servidor,$bd_usuario,$bd_contrasenya);

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.php"><br>
Buscar en:
<select name="campo">
<?php

//Con este query obtendremos los campos por los cuales el usuario puede buscar

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

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

// en $row[0] tenemos el nombre del campo
// de esta manera no necesitamos conocer el nombre de los campos
// por lo que cualquier tabla nos valdrá

?>
<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'])) {

// Solo se ejecuta si se ha enviado el formulario

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

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



$found = false; // Si el query ha devuelto algo pondrá a true esta variable

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

$found = true;

echo "<p>";

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

// Tenemos que mostrar todos los campos de las filas donde se haya
// encontrado la búsqueda.


if(is_int($nombre_campo)) {

continue; //Cuando hacemos mysql_fetch_array, php genera un array
// con todos los valores guardados dos veces, uno con
// índice numérico y otro con índice el nombre del campo.
// Solo nos interesa el del nombre del campo.

}

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

echo "</p>";

}

if(!$found) {

echo "No se encontró la palabra introducida";

}

}
?>


Esta es la ruta que utilizo para llamar a un listado de productos

index.php?s=sec_din/vis_lst.php&nt=productos&nc=tip_pro&vc=2&sel=pro02&ob=nombre.

Por aleuterio

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Nov 2009 10:08 pm
yo no se mucho de esto, ya que soy nuevo en esto del php y tengo dudas mil pero esto igual te ayude algo, ya que a mi de momento me ha servido , aunque ahora quiero perfeccionarlo dando mas opciones de busqueda.

[url=http://www.aulaclic.es/dreamweavercs3/epp_20_8_2_2.htm][/url]

Por pepito piscinas

106 de clabLevel



 

msie8
Citar            
MensajeEscrito el 11 Nov 2009 04:33 pm
revisa a ver si este te sirve de algo es bastante sencillo y facil de entender

http://www.codigolandia.com/art-Buscador+con+Paginacion+Incluida-php-17.tc

Por talcual

686 de clabLevel



 

Colombia

firefox
Citar            
MensajeEscrito el 17 Nov 2009 01:58 am
gracias, voy a intentarlo.

Por aleuterio

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Nov 2009 08:59 pm

aleuterio escribió:

Hola.

Soy bastante novato en el tema y necesito ayuda.

Estoy trabajando en una base de datos mysql, y queria ponerle un buscador de productos sencillo que he encotrado por ahi. El buscador que estoy configurando hace la busqueda perfectamente. Pero me muestra los resultados en una ventana nueva y yo queria que me los mostrara en la seccion.

Supongo que en el archivo buscador.php tengo que programar la ruta para que muestre el listado de productos. Pero no me sale.

-------------------------------------
Asi esta programada my web
<?php
include("sec_din/librerias/sesion.php");
include("sec_din/librerias/funciones.php");

if(isset($_GET['s']))
{
$seccion = str_replace("http://", "", strtolower($_GET['s']));
if(isset($_GET['sel'])) eval('$'.$_GET['sel'].' = "class=\'activo\'";');
}
else
{
$seccion = "inicio.html";
$ms1 = "class='activo'";
}
?>

<html>
<head></head>
<body>
<table border="0" width="85%" height="100%" align="center">
<tr>
<td colspan="2" width="80%" height="80" align="center" ><? include("menu_sup.html"); ?></td>
</tr>
<tr>
<td width="25%" valign="top">
<? include("buscador.php"); ?>
<? include("menu_izq.php"); ?>
</td>
<td width="75%" height="100%" align="center" style="margin:0; overflow:hidden;"><? include($seccion); ?>
</td>
</tr>
<tr>
<td height="14" colspan="2" align="center"><? include("pie.html") ?></td>
</tr>
</table>
</body>
</html>

---------------------------------------
este es el buscador.php

<?
$bd_servidor = "localhost";

$bd_usuario = "root";

$bd_contrasenya = "";

$bd_bdname = "bd_24";

$bd_tabla = "productos"; // Tabla donde se harán las búsquedas

// Conexión y selección de la base de datos

$link = mysql_connect($bd_servidor,$bd_usuario,$bd_contrasenya);

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.php"><br>
Buscar en:
<select name="campo">
<?php

//Con este query obtendremos los campos por los cuales el usuario puede buscar

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

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

// en $row[0] tenemos el nombre del campo
// de esta manera no necesitamos conocer el nombre de los campos
// por lo que cualquier tabla nos valdrá

?>
<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'])) {

// Solo se ejecuta si se ha enviado el formulario

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

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



$found = false; // Si el query ha devuelto algo pondrá a true esta variable

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

$found = true;

echo "<p>";

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

// Tenemos que mostrar todos los campos de las filas donde se haya
// encontrado la búsqueda.


if(is_int($nombre_campo)) {

continue; //Cuando hacemos mysql_fetch_array, php genera un array
// con todos los valores guardados dos veces, uno con
// índice numérico y otro con índice el nombre del campo.
// Solo nos interesa el del nombre del campo.

}

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

echo "</p>";

}

if(!$found) {

echo "No se encontró la palabra introducida";

}

}
?>


Esta es la ruta que utilizo para llamar a un listado de productos

index.php?s=sec_din/vis_lst.php&nt=productos&nc=tip_pro&vc=2&sel=pro02&ob=nombre.


Hola, te podria pedir un favor me podrias dar el link del tutorial que encontraste, me vendria barbaro para mi proyecto ^^

Saludos =)

Por Verys

67 de clabLevel



Genero:Femenino  

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.