Me ha surgido un problema que espero me podais ayudar para ordenar unos registros, selecciono como lo quiero ordenar desde un select, primero os pongo el código que hasta ahora funciona y es cuando intento añadir lo que luego expondre cuando me surge el problema.
Tengo una tabla que se llama ordenar y que tiene 3 campos
id ------ Descrip_Orden------Ordenacion
en el primero esta el id, en el segundo esta la descripcion como quiero ordenar y en el tercero hay algo como "Nombre ASC", "Precio ASC", etc... como digo esta funcionando.
Luego tengo un select que relleno con esta tabla:
Código PHP:
Ver original
<form name="Ordenacion" method="GET" action="index.php"> <select name="ordenar" id="ordenar" style class="Guias2" onchange="this.form.submit()" > <option value="-1" selected> Ordenar por</option> <?php ?> <option value="<?php echo $registroordenacion['Ordenacion']; ?>"><?php echo " " .$registroordenacion['Descrip_Orden']; ?></option> <?php } ?> </select> </form>
Y luego tengo en la tabla donde busco los registros (solo pongo el trozo del ORDER BY)
Código HTML:
Como veis en este ultimo trozo de código hay una variable "rand('.$dias_dif.')" que le pasa un número diferente cada cierto tiempo a rand para que al entrar en la página o al refrescar la misma cambie el órden de los registros mientras no utilicemos el select de Ordenar.Ver original
if (isset($_GET['ordenar'])and $_GET['ordenar'] <>'-1') { $sql .= " ORDER BY {$ordenar} "; }else {$sql .= ' ORDER BY rand('.$dias_dif.') '; }
Hasta Aqui todo bien: lo que necesito es poner una nueva opción en el select que al seleccionarla vuelva todo como cuando se entra en la página por primera vez osea haga la ordenacion que hace cuando utiliza ORDER BY rand('.$dias_dif.')
Espero haberme esplicado, gracias a todos.