I'm not very familiar with Code Igniter, but if it's just one result I wouldn't think you would need a loop. Atleast, I have never seen a loop used to print just one single result. I am not too familiar with CI's database abstraction, but check out the manual and see about pulling just one row set. If anything you might have to loop through an array of one rows data, but that depends on how CI returns its row set.
If you're practicing by writing a blog script, there's no reason not to use a loop either. Always design with the other side of the tunnel in sight - who would want a blog that only ever displayed a single post? Loops can be used to display a single item, or multiple items, the beauty of them is that they don't need to know beforehand, they'll just do their job.
As for a useful answer to your question, I have none. Never used CodeIgniter. The name freaks me out, cause the last thing I need is for my computer to spontaneously combust.
Another thing would be for you to name your methods a bit different. Both of the mentioned methods should simply be named edit(), seeing as the class name says - or should at least - either Post (model) or Posts (controller) (or something similar to that).