On solution: put the <table><tr> tags before the while() loop and the </tr></table> tags after the loop, then within the loop wrap each result row in <td></td> tags.
Another solution is to not even use a table, but instead some CSS styling to float the elements within a container, which depending on the desired output effect, might be better in that the elements would wrap onto multiple lines if the screen is not wide enough to contain them all on one line.
<html><head><title>example</title>
<style type='text/css'>
.container {
overflow: auto; /* makes it wrap around the floats inside */
}
.floater {
height: 5em; /* adjust dimensions as desired */
width: 10em;
float: left;
overflow: auto;
}
</style>
</head>
<body>
<div class='container'>
<?php
while ($runrows = mysql_fetch_assoc($run_two))
{
//get data
$title = $runrows['title'];
$desc = $runrows['description'];
$url = $runrows['url'];
$img = $runrows['image'];
$id = $runrows['id'];
echo "<div class='floater'>
<h4><a href='http://$url'><b>$title</b></a><br />
$desc<br>
<font color='00CC00'>$url</font></h4>
<tr><img src='data:image/png;base64,$img' />
$id
</div>";
}
?>
</div>