You have the header inside the Loop, so of course it prints once for each result. Put that outside the Loop proper.
if (have_posts()) { ?>
<img src="https://wordpress.stackexchange.com/questions/102754/banner.jpg" /><?php
while ( have_posts() ) {
the_post();
// print contents
}
}
Also, don’t use relative URLs in WordPress. You are in for all kinds of headache if you try.