Re Python: it's not as popular as say ASP.NET/PHP/JSP, but it is used for web programming too.
Re dropdown:
Not at all, you could create a form with just the dropdown, and submit the form every time you change the selected element.
HTML:
<form name="frmCat" method="get" action="">
<select name="category" onchange="document.frmCat.submit()">
<option value="c1">Category 1</option>
...
<option value="cn">Category n</option>
</select>
</form>
PHP (since I left the action blank, the form will submit to the same file):
if(count($_GET)>0 && isset($_GET['category']) &&
in_array($_GET['category'), array('c1','c2',...,'cn')){
$cName = $_GET['category'];
$sql_statement = "SELECT * from tablename where colname = '".$cName."'";
$result = mysql_query($sql_statement);
//parse $result and display the list
}
You will of course have to write out the entire array of categories and not use ...
This is just a rough outline.
You can also do this filtering using AJAX. In that case you wouldn't submit the form, but call a JS function when the onchange occurs, and from that function make an AJAX call.
As for the images, it's not that difficult:
http://www.tizag.com/phpT/fileupload.php
On the other hand, none of this is something that you can "easily" whip up in 10 minutes, especially if you're not used to working with PHP.