Originariamente inviato da _Marco_87
Grazie per la risposta. L'ho provato ma il problema rimane sempre lo stesso. Probabilmente perchè io ho "ordinato" al server di ordinare secondo variabile $ordina, e con questo sistema il metodo non è più valido. Mi chiedevo invece se non esistesse un modo, dopo aver creato la select di ordinare al server di prendere quello che vede.
Esempio: io ho una select e scelgo Data, il server successivamente stabilisce che la nuova select Data diventa uguale a $ordina, in questo modo cambia l'ordine dei risultati della pagina.
In realtà Data è già impostato, in quanto con questo comando:
Codice PHP:
$ordina = isset($_REQUEST['ordina']) ? $_REQUEST['ordina'] : "Data";
Data viene messo come filtro di default se non vi è nulla di selezionato, quindi devo solo cambiare lavariabile $ordina che è messa in ORDER BY.
codice:
<select id="ordina">
<optgroup label="ordina">
<option value="Recenti">Recenti</option>
<option value="Votati">Più Votati</option>
</optgroup>
</select>
<button onclick="ordina(document.getElementById('ordina').value)"/>Vai</button>
Questa form andrebbe pure bene, ma vorrei fare una modifica che però non sò come si faccia, ovvero vorrei ordinare alla funzione onclick di creare un uguaglianza fra il valore scelto $ordina.
In pratica vorrei dire che il nuovo option value scelto diventa uguale alla variabile $ordina, quindi è come se scrivessi Votati = $ordina, e di conseguenza la query si modificherebbe da ORDER BY Data in ORDER BY Votati.
Purtroppo non ho ancora capito come si fà e stò cercando su tutto google ma non trovo nulla, e dopo aver fatto 1000 modifiche al codice non sò più che pesci pigliare.
Per quanto riguarda questo codice java-script:
codice:
<script type="text/javascript">
function ordina(filtro)
{
location.href = "pagina3.php?ordina="+filtro;
}
Credo che possa essere molto valido, ma mi chiedo se esista un comando per impostare quel "filtro" come uguale a $ordina. Non esiste una funzione per creare un'uguaglianza?