В гугле в основном все через жкьюэри плагин... А ему надо на пхп.
Единого принципа я думаю нет нигде. Всё можно сделать по разному и несколькими способами - как кому нравится. В общих чертах это вывод вопросов и вариантов ответа, проверка ответов и вывод результата. Скрипт можно сделать как с использованием БД так и без неё. Но в обоих случаях я бы рекомендовал использовать массивы. В БД их можно хранить в сериализованом виде. Проверять правильность ответа надо после каждого вопроса, а не в самом конце. Понятно что вопросы и варианты ответов надо выводить по одному, а не все сразу.