On second thought, I'll wait until I can take a closer look over your code before responding.
Thank you for checking it out -- I did find out that the secret lies in invoking the setRootIndex() method on the data mapper object, passing to it the current item's parent node. (Doing so resolves overlap between index row values.) I had tried using it before but wasn't implementing it correctly.
That's good to hear. Just in the beginning stages at the moment, should I just try to get a basic grasp of programming? To be honest I'm pretty lost and don't know how much work will be web development, how much is programming, what the difference is, ect. Currently using codeacademy for Python...seems pretty good so far.
I believe you should. If you're lost now, then you ought to continue with a beginner's book and/or guide until you can do something like, say, a genuine hangman game on a command-line interface. I agree with the other poster who replied to you that the best way to learn is to think of a cool idea you want to write in code and then implement it--but if you dive in head-first with zero or little base knowledge, it will be a frustrating experience I think.
Web development--at least the kind that isn't just static HTML/CSS pages--
is programming. The HTML/CSS (and JavaScript if you so choose) is always used to display the front end, but you're gonna have to store all those user statistics in a (presumably relational) database. Popular open-source relational databases include MySQL and PostgreSQL. You'll need to at least learn the basics of how these relational databases work; fortunately, learning the basics of the language used to query data (that is, SQL) is very easy. But to implement those queries on a webpage, you need a scripting language (like Python, or PHP, or Perl, etc...if you're not using PHP, which was explicitly made for Web programming, you'll probably want learn how to use a Web framework, like Django for Python) as a sort of intermediary between your front-end (your HTML/CSS stuff) and your back-end (your database). The scripting language is the vehicle by which you allow users to fetch data, create new data, modify existing data, etc. These ideas together are the heart of what makes a
dynamic website dynamic and not just a static collection of HTML/CSS pages.
The last thing you would want to learn is at least the very basics of installing and configuring Web server software. Apache is a very popular choice.
I would continue sticking to learning how to code on the command line if I were you. Then I would
1. learn the basics of a relational database like MySQL
2. install the MySQL server software on your computer, and then try to use Python's MySQL module to design a (command line) Python program in which you can perform the traditional database functions -- reading, creating, updating, and deleting data -- in your program.
3. learn how to use a Web framework (like Django for Python) or learn PHP, and try designing that same program in step 2 as something accessible from the web browser rather than command line environment. Of course this will require you to...
4. install Web server software (like Apache) on your computer (the localhost), and do the bare minimum configuration of it in order for your website to work.
A dynamic website is a piece of machinery with more than one or two parts. You don't necessarily need to have advanced knowledge of all those parts just to make one, but you will need to know the basics at least. Don't be too intimidated, though -- I'm still a novice (just started learning Python as my first language myself about 13 months ago) -- but after six or seven months of self-study I was comfortable creating my own dynamic website.