My son went through a similar situation when he was 2. It came on when we were on vacation and I thought it was from all the not-so-healthy stuff he was eating from being on vacation, but then it continued! After about a week, I took him in and the dr said that they wouldn't do any tests until after about 10 days. It didn't improve, so we ran some tests (lactose, ceilacs, c diff, and another). All of them came back normal. My doctor told me to give him yogurt everyday to help him build the good bacteria back in his intestine. After about 2 weeks of this, it started to turn around. Since then I have learned how important probiotics are (good bacteria, that is the stuff found in good yogurt). I now give my kids a tube of gogurt everyday. So, in the end, he had to have gotten some sort of virus that wiped out all of the good bacteria and it takes a few weeks to build those back up. This is exactly what my dr said, and she was right. I was freaking out the whole time, thinking how can "nothing be wrong, he must be sick". If your son won't eat yogurt, you can buy probiotics in a powder form and you can mix it in with his milk or water... Good luck!