Una cosa,
Código PHP:
Ver originalonsubmit="MostrarConsulta('filtroconsulta.php?slct d1=<?php echo $_GET['categoria']; ?>&&slctd2=<?php echo $_GET['orden']; ?>'); return false">
$_GET es para cuando te llegan datos por url, o sea por get, a vos no te esta llegando nada, por eso no envia nada.
Si vos abris este archivo por primera vez
Código PHP:
Ver original<form method="get" name="frm" action="" onsubmit="MostrarConsulta('filtroconsulta.php?slct d1=<?php echo $_GET['categoria']; ?>&&slctd2=<?php echo $_GET['orden']; ?>'); return false">
<div class="filtro1">Categoria: <select name="categoria">
<option value="opcion1">opcion1
<option value="opcion2">opcion2
<option value="opcion3" selected>opcion3
</select></div>
<div class="filtro2">Informacion: <select name="orden">
<option value="opcion1">opcion1
<option value="opcion2">opcion2
<option value="opcion3" selected>opcion3
</select></div>
<input type="hidden" name="categoria" id="categoria" value="todos" />
<input type="hidden" name="orden" id="orden" value="mayor" />
<input type="submit" value=" Aplicar Filtro ">
</form>
nunca vas a mandar nada, si a vos no te llega nada por get, $_GET es para obtener lo que te llegue por GET, cuando decis : <?php echo $_GET['orden']; ?> estas haciendo referencia a una variable llamada orden que te llega a ese archivo por la url, y si vos no se la mandas primero entonces nunca vas a tenerla.