In view of your question that your child has not gained much weight though you have given him varieties of foods, it seems he is also sick at times and does not want to eat either. Yore pediatrician might help you in this regard whether he has got any deformities involving mouth, teeth or tongue, Malabsorption, Coeliac disease or an auto immune disease. However in your case, it probably could be malabsorption. I would suggest you to get a complete physical examination for the child and blood tests and consult the pediatrician with the reports.