1) there are many ways to search a database, do you just want to search 1 column in 1 table or many columns?
$searchterm = $_GET['search']
id LIKE '%$searchterm%'
OR position LIKE '%$searchterm%'
OR category LIKE '%$searchterm%'
OR location LIKE '%$searchterm%'
OR description LIKE '%$searchterm%'
OR refno LIKE '%keyword%';
2) its called pagination and again there are many ways to implement this,
this would fetch the first ten entrys
"SELECT * FROM yourtable LIMIT 0, 10"
$frompost = ($_GET['page']-1)*10; //page=2 would start at 10 etc
"SELECT * FROM yourtable LIMIT $frompost, 10"
3) in your script that you use to INSERT on successfull you can SELECT email FROM users WHERE subscribed=1
then use the mail() command to email them.
PHPMAILER (google it) is good for batch emails