Foros del Web » Programando para Internet » PHP »

Una pequeña cuestión de este script de php (búsqueda en una MySQL)

Estas en el tema de Una pequeña cuestión de este script de php (búsqueda en una MySQL) en el foro de PHP en Foros del Web. Hola comunidad de forosdelweb, les cuento: Me he bajado el siguiente script de www.webtaller.com de un buscador en php de una bd MySQL. Me funciona, ...
  #1 (permalink)  
Antiguo 13/08/2010, 18:04
 
Fecha de Ingreso: enero-2010
Mensajes: 20
Antigüedad: 14 años, 3 meses
Puntos: 0
Una pequeña cuestión de este script de php (búsqueda en una MySQL)

Hola comunidad de forosdelweb, les cuento:
Me he bajado el siguiente script de www.webtaller.com de un buscador en php de una bd MySQL. Me funciona, pero no quiero que te dé a elegir entre todas las categorias de mi base de datos antes de apretar el botón "buscar", quiero que haga una búsqueda general. Además desearia que solo muestre dos campos, "city" y "description", que están en mi tabla.

El script:


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


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

//modifica estas variables según tu servidor de MySQL

$bd_servidor "localhost";


$bd_usuario "pepito";


$bd_contrasenya "grillo";


$bd_bdname "mybd";


$bd_tabla "unatabla"// 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,$&#8230;

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

//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";

}

}
?>
De momento sale algo así:

[IMG][URL=http://img541.imageshack.us/i/fosdelew.jpg/][/IMG]

Muchas gracias!

Última edición por Dav36id; 13/08/2010 a las 18:09 Razón: La imagen no se visualiza bien
  #2 (permalink)  
Antiguo 13/08/2010, 21:48
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Una pequeña cuestión de este script de php (búsqueda en una MySQL)

Te recomiendo que leas algún manual, porque lo que pides se resuelve con un poco de lectura. Verifica este material http://www.forosdelweb.com/wiki/Manual_de_PHP
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: mysql, pequeña
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 23:11.