You're not going to get this kind of thing through a tutorial, you need to take what you learned in the blog type tutorials and apply it to your situation. In my application simply adding a product can affect as many as 7 tables.
This is more a question about workflow than anything. You need to sit down with a pen and a pad and map out how things work, how your tables relate and the flow to add the data. Before you start coding you need to understand how to add data, which tables require information from others before you can insert etc. Take for example a simple product, you have basic data in the product table and another table for product images. Obviously in this case you'd need to insert the product table first to get an id to add to the images table. Yes you are going to end up with multiple inserts, in fact when adding a new member my routine inserts to one table twice due to the way the data works.
Take your time and map it out. This is a situation where no one tutorial is going to help, it's about you looking at your tables and data flow logically and putting it together.
As to putting all the data on one form that is the easy part. Simply pull the data in your controller using a query with joins. Something along these lines.
Controller:
$data['products'] = $this->product->getAllProductDetails($productId);
Model:
$this->db->where('productId',$productId);
$this->db->join('product_images','product_images.productId=products.productId');
$this->db->join('manufacturers','manufacturers.manufacturerId=products.productId');
$this->db->get('products');
The above would pull all the product, product images and manufacturer information into the variable $products for you to use in your view. Then on your save button you would have another controller function that would individually call saves (insert or update, personally I have a save function that decides which is required) for each of those tables