Hola!!!
Me ha servidor mucho tu respuesta. Ahora el problema que tengo es que, al buscar un nombre, me muestra todos los datos de la base de datos, y no muestra solamente la fila que me interesa. Por ejemplo, si tengo una base de datos con 3 registros, cuyos campos "nombre" son: carlos, pepe, luis, si hago una búsqueda de "pepe", me muestra las 3 filas, y no solamente la fila de pepe, que es lo que quiero. Perdona mi ignorancia, es que el codigo me lo pasó un compañero y no acabo de entender algunas cosas. Lo he dejado así:
Código PHP:
<html>
<body>
<?php
if (isset($buscar)){
echo "Debe especificar una cadena a buscar";
echo "</html></body> \n";
exit;
}
$link = mysql_connect("localhost", "usuario","contraseña" ;
mysql_select_db("prueba", $link);
$result = mysql_query("SELECT * FROM agenda WHERE nombre LIKE '%$buscar%' ORDER BY nombre", $link);
$row2=@mysql_num_rows($result);
echo($row2); //me da 3, cuando deberia dar 1
if ( $row2 > 0){
if ($row = @mysql_fetch_array($result)){
echo "<table border = '1'> \n";
//Mostramos los nombres de las tablas
echo "<tr> \n";
while ($field = mysql_fetch_field($result)){
echo "<td>$field->name</td> \n";
}
echo "</tr> \n";
do {
echo "<tr> \n";
echo "<b><td>".$row["nombre"]."</td></b> \n";
echo "<td>".$row["direccion"]."</td> \n";
echo "<td>".$row["telefono"]."</td> \n";
echo "<td><a href='mailto:".$row["email"]."'>".$row["email"]."</a></td> \n";
echo "</tr> \n";
}
while ($row = mysql_fetch_array($result)); {
echo "</table> \n"; }
}
} else {
echo "¡ No se ha encontrado ningún registro !"; }
?>
</body>
</html>
Gracias por tu ayuda!!!!