Разрывы строк появляются, потому что вы сделали несколько элементов h3. Вы закрываете и снова открываете теги h3 при каждой вставке, что не является необходимым. Вывод html вашего кода следующий:
<h3>Here are all the houses whose prices are between $</h3>
<h3>100000 and $</h3>
<h3>500000 : </h3>
, который автоматически добавляет разрывы, так как это поведение элементов h3.
Что вам нужно, это:
echo '<h3> Here are all the houses whose prices are between $'.$lowprice.' and $'.$highprice.':</h3>';
Еще лучше, не используйте echo для определения вашего HTML; html и php взаимозаменяемы в одном и том же файле. Более понятное, удобочитаемое и более легкое в обслуживании решение состоит в том, чтобы сформировать ваш сценарий следующим образом:
<caption>
<h3>Here are all the houses whose prices are between $<?= $lowprice ?> and $<?= $highprice ?>:</h3>
</caption>
Обычно вы переключаетесь между php и html следующим образом:
<?php
...do some php
?>
<somehtml></somehtml>
<?php do some more php ?>
<morehtml>...
Обратите внимание, что <?=
является сокращением для <?php echo
.