You wrote: i tried doin an onchange="this.form.submit" and it doesnt submit?
Usually an onChange="something();" calls a function in JavaScript or VBscript, like
function something(){
do whatever;
}
FYI: Anything you want to do on the page AFTER it has left the server has to use a client side script...usually JavaScript or VBscript (which is Microsoft's offshoot of Netscape's JavaScript. JavaScript is more popular only because most browsers can handle it. Last I heard, VBscript is only handled my IE.)
If you don't want to use JavaScript, then you are limited to those things you can do at the server.
If you image that the webpage is like a ball tossed between the server and the browser, you'll find it easier to understand that the webpage you see in the browser is not connected to the server.
PHP is a server side script/program, more formerly known as a html preprocessor, and only works to process information to send with the webpage, sort of like wrapping that ball with a note before it is tossed.
This is not the proper technical way to describe what happens, but maybe the imagery will help understand the concept.
You will HAVE to use a client side script to make dynamic listboxes, even if you are pulling the information from the db by use of PHP.