Si vas a buscar en tablas de tu DB este sirve Codigo PHP: <? // Buscador para tablas MySQL escrito en PHP. Por Alex para <a href="http://www.webtaller.com" target="_blank">www.webtaller.com</a> // 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,$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_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";
}
} ?>
Si no pues, lo siento. |