1) Understand that there are two types of people, right=brained (artistic) and left-brained (logical). You would appear to be right-brained, so don't expect to become a great programmer, which requires being left-brained. Enough to understand when a programmer tells you why what you want can't be done your way, but not enough to come up with a way to do it. (That's why websites are designed by teams - a great programmer can't draw a straight line, and a great designer can't "feel" logic.)
2) Programming languages are tools. Would you suggest that someone with absolutely no knowledge of design learn Photoshop first? Or art, balance, color, etc? Photoshop is great tool, but if you don't know your objective, or what works with what, it's a tool in which you can't do much. Programming is the same thing - knowing what a pointer is doesn't tell you how to use it to construct a linked list - learning programming does; then you realize that you use pointers to do it.
Learn programming. (HTML and CSS are content and look, not programming.) Start with http://www.amazon.com/gp/offer-listing/0130224189/ref=pd_bbs_sr_olp_1?ie=UTF8&s=books&qid=1212765521&sr=8-1 It's the best programming book I've found in 30 years of teaching programming - it teaches programming in English, something you should be completely comfortable in by now.
Once you know programming, a language like PHP is almost trivial to begin with - you can start writing working code with just the PHP.chm file (to look up the exact syntax of what you need - you'll know what you need to do what you want, because you'll understand programming.) It's like looking up which brush to use - if you don't know design, what's a brush and why do you want to use one? If you do, it's kind of evident, and you worry about the look of the thing you're working on, not about what a brush is. Learning what a brush is (or why you should use a doubly-linked list for this object) while you're working makes it three times as difficult.
Ruby might be the next greatest language, or it might never go anywhere - no one knows yet. BTW, Ruby on Rails is a programming methodology for the language known as Ruby. I wouldn't worry about it unless you were looking for a job in a Ruby house, and there aren't too many of them.
Perl is great - if you're a masochist - PHP is Perl on steroids. It does the scut work for you. (That causes a problem, but the work-around is designed in.)
SQL is mandatory if you're working with databases - that's the language you use to talk to them.
Focus your training on programming, and be aware that you'll need to learn many languages now, and keep learning new ones in the future. 6502 assembly is kind of dead these days, but I had to know it back in the 70s. Even Z-80 assembly - the "dot net" of the 70s - is dead now. So is CP/M, SBASIC, GWBASIC, FORTH ... but they were all part of a good programmer's toolbox back then. If you live long enough, you'll see a time when good, but young, programmers, think "windows" are things used to see through walls, and have no idea that it was an operating system back now. All the languages you hear about today will be dead and buried (not too many people ever programmed in JOVIAL, SPITBOL or ATLAS - or even remember the names.)
Art is always art. Programming evolves as rapidly as the influenza virus.