yes there is one major thing you need to learn or understand first. It's the MVC model that codeigniter uses, it stands for Model, view & controller. Basicly you need to split your code into 3 layers, the model is to query the database, the controller is also called the business logic layer, you will need to check if a query can be executed or not and finally the view which is the presentation layer, what the user will see. For the rest general php knwoledge is required for codeigniter.
Here are some articles about MVC structure:
http://net.tutsplus.com/tutorials/other/mvc-for-noobs/
http://net.tutsplus.com/tutorials/php/hvmc-an-introduction-and-application/
and here is a list of 15 video tutorials about codeigniter written by authors of nettuts:
http://net.tutsplus.com/tutorials/php/codeigniter-from-scratch-profiling-benchmarking-hooks/ (this is the last tutorial of the list but it's the only one that links to all other tutorials)
EDIT: OOP (object oriënted programming) is also something you might want to have a look at.
http://net.tutsplus.com/tutorials/php/oop-in-php/