Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Menù a tendina e mysql

150 views
Skip to first unread message

dade84mn

unread,
Nov 17, 2008, 10:06:19 AM11/17/08
to
Ciao a tutti,

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?

Francesco

unread,
Nov 17, 2008, 10:16:27 AM11/17/08
to
On 17/11/2008 16.06, dade84mn wrote:
>
> - 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


dade84mn

unread,
Nov 18, 2008, 4:44:35 AM11/18/08
to
On 17 Nov, 16:16, Francesco <firefly_S...@yahoo.com> wrote:
> On 17/11/2008 16.06, dade84mn wrote:
>
>
>
> > - 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

Francesco

unread,
Nov 18, 2008, 5:07:23 AM11/18/08
to
On 18/11/2008 10.44, dade84mn wrote:
>
> 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!

dade84mn

unread,
Nov 18, 2008, 5:37:35 AM11/18/08
to

hai messanger o skype che facciamo prima?

il mio è ultr...@hotmail.com

0 new messages