Hai le idee un bel po' confuse.

1) Mischiare get e post non è una grande pensata.
Potresti modificare il form in questo modo
codice:
<form action="query.php" method="POST" name="new_photo">
<input type='hidden' name='action' value='new_photo' />
<select...
Al form, meglio sempre dare anche un nome.

2) onChange associato al tag <form> non ha senso, il form non cambia, va associato al campo <select>

3) Di sicuro non puoi recuperare con PHP valori che si trovano su una pagina già visualizzata sul browser, si fa con Javascript

4) cosa carica quel location.assign? La stessa pagina, ma con nuovi contenuti?

Ti sposto in Javascript.