Entonces de ahí parte tu problema, tu función buscar() devuelve únicamente un resultado y no todos.
La función debería devolver un array, y cada elemento representar a una fila de resultados.
Código PHP:
function buscar($what) {
$out = array();
while ($row = mysql_fetch_something()) {
$out []= $row;
}
return $out;
}