scusate la niubbaggine, ma devo creare un menù a tendina e in base a
ciò che seleziono poi devo effettuare l'ordinamento.
Mi spiego meglio:
- attualmente ho una query che mi ordina per tempo.
- Voglio inserire un menù a tendina che mi permetta di ordinare a
seconda delle scelte o per tempo o per data o per cognome.
In base alla scelta che faccio, mi deve ritornare un valore che mi
serve nella query e da inserire nell'order by.
Come posso fare?
Crei un form con una selectbox, contenente i vari campi "ordinabili"; al
momento che premi submit, aggiungi alla query il relativo campo per
l'ordinamento (occhio al rischio di sql-inj)
Potresti anche automatizzare il tutto, creando la selectbox con la lista
completa dei campi della query (estrapolati con mysql_field_name()
oppure direttamente dal fetchrow)
Francesco
Mi puoi fare un esempio che non ne esco?il mio problema è che nn mi
ritorna il valore della select box
Con questo popoli la tua combo box (all'interno di una form)
$sql = "Select * from tabella";
$res = mysql_query($sql);
$lista = null;
for($i=0; $i < mysql_num_fields(); $i++) {
$lista[$i] = mysql_field_name($res, $i);
}
echo '<select name="filtro">';
foreach ($lista as $k => $v) {
echo '<option value="' . $k . '"> ' . $v . '</option>';
}
echo '</select>';
Poi associ il risultato del submit:
if(isset($_GET['filtro'])) {
$order = $lista[$_GET['filtro']];
} else {
$order = 'campo_prefefinito';
}
$sql_new = $sql . ' order by ' . $order;
Ovviamente con mille errori...
Francesco
PS Se postavi il codice, si faceva prima!