Estás metiendo los resultados en una tabla. Es normal que te salgan uno debajo del otro.
Olvidándote de la tabla, puedes hacerlo así:
Código PHP:
while ($rowcategoria=mysql_fetch_array($resultadocategoria))
{
$resultados[] = $rowcategoria['categoria'];
}
echo implode(" | ", $resultados);