This line:
$tile_fields = array('floor_tile', 'floor_grout', 'shower_wall_1');
lists the fields that you want looked up in tile_sku. Those fields in your tile_images record will be replaced by records from tile_sku. You'll want to add all your other fields you want looked up too.
So we're speaking the same thing, "tile_images" holds all the images and pulls data from table "tile_details" - what you are calling "tile_sku" above. Now, was there a typo above (the bold bit)? Don't you mean that that line of code is telling the page which fields in "tile_images" table need to be replaced with information from the "tile_details" table?
tile_details table only has 3 fields - tile_sku, tile_dimensions, and category (see attached screenshot) - are they the fields I should be adding up above? It throws an error when I do, so I assume that I should not do that.
Your last part of your post is exactly correct, I want to show "tile_sku" from the "tile_detail" table. I have incorporated the above - no errors, but unfortunately, no labels still.
Thanks again. I have reposted the page again.