Hola a todos. Les cuento, creo que he dado con el error, pero para variar, me genera otro

: He modificado y dejado la siguiente línea:
if (!isset($_POST['buscar'])){.
Ahora, me muestra
todos los registros que tengo en la BD y, además, me sale un error que dice:
Notice: Undefined variable: buscar in C:\xampp\htdocs\agenda\consultar_usuario.php on line 11
Obviamente no quiero que me muestre
todos los registros que tengo, sino, únicamente el apellido que digite en el formulario de consulta.

Espero me puedan ayudar, muchas gracias a todos.
consultar_usuario.php
<html>
<body>
<?php
if (!isset($_POST['buscar'])){
//Línea que agregué
echo "<p>Debe especificar una cadena a buscar</p>";
echo "<p><a href= formulario_consultar_usuario.php>Volver</p>";
echo "</html></body>";
exit;
}
include("conectarmysql.php");
$sql = "SELECT * FROM registrar WHERE apellido LIKE '%$buscar%' ORDER BY 'apellido'";
//Acá me dice que la variable no está definida
$result = mysql_query($sql, $db) or die(mysql_error());
if ($row = mysql_fetch_array($result)){
echo "<table style='border: 4px red dotted;' border = 1>";
//Mostramos los nombres de las tablas
mysql_field_seek($result,0);
while ($field = mysql_fetch_field($result)){
echo "<td><b>".$field->name."</b></td>";
}
echo "</tr>";
do {
echo "<tr>";
echo "<td>".$row['Nombre']."</td>";
echo "<td>".$row['Apellido']."</td>";
echo "<td>".$row['Celular']."</td>";
echo "<td>".$row['Direccion']."</td>";
echo "</tr>";
} while( $row = mysql_fetch_array($result) );
echo "<p><a href= formulario_consultar_usuario.php>Volver</p>";
echo "</table>";
} else {
echo "<p>¡No se han encontrado registros!</p>";
echo "<p><a href='formulario_consultar_usuario.php'>Volver</p>";
}
?>
</body>
</html>