Mira, al final conseguí montar un buscador en php para mysql con la ayuda de un tutorial que encontré por la red, hasta hace unos dias funcionaba, ahora no-sé-porqué no funciona:
Este archivo se llama buscador_generico.php contiene la configuración de conexión, el formulario y deberían aparecer los resultados, pero no aparecen
<?
$bd_servidor = "mysql.webcindario.com";
$bd_usuario = "emedicina";
$bd_contrasenya = "XXXXXXXXX";
$bd_bdname = "emedicina";
$bd_tabla = "xxxxxx"; // 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);
?>
<center>
<p>
<h2>Buscador </h2>
</p>
<p><form name="buscador" method="post" action="buscador_generico.php"><br>
Buscar en:
<select name="campo">
<?php
$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>
<?
if(isset($_POST['enviar'])) {
$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) {
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 otro error que tiene el código es que sólo permite hacer una búsqueda, despues se tiene que volver hacia atrás, actualizar el archivo y entonces realizar una nueva búsqueda...
A ver que se puede hacer... Gracias