select multiple

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
salve a tutti ho un problemino (ma no!?) su una selct multipla.
ho fatto un form di prova e ho inserito la seguente selct multipla che "consentirebbe" all'utente di fare una o più selezioni (Ctrl sel o shift sel col mouse)

Codice:
<select name="servizi" size="3" multiple>
      <option value="1">uno</option>
      <option value="2">due</option>
      <option value="3">tre</option>
      <option value="4">quattro</option>
      <option value="5">cinque</option>
      ......
  </select>

raccolgo (o almeno dovrei come indicato anche sul manuale di dream) dopo send i valori selezionati con la classica e stampo:

$servizi=$_POST['servizi'];
echo "<br> ho scelto: ".$servizi;

ed ecco il problema:

se seleziono solo un valore mi stampa il valore selezionato (e sin qui non ci piove)

se seleziono più valori (contigui o no) mi stampa solo il valore più alto
es. selezionando uno e quattro mi restituisce 4 mentre io vorrei che mi restituisse 1 e 4

d'accordo potrei mettre tanti pulsanti di scelta, ma se le selezioni sono molte per qunto devo scorrere la pagina?

ciao e grazie
 
il problema non è avere la selct multipla (se noti nel tag c'è multiple) ma come trasmetterla nel caso di piu' d'una selezione anche NON contigue.

ho anche provato a mettrere nella select i value del tipo:
value= "1|"
value= "2|".....

nella pag php

$servizi=$_POST['servizi'];

$varieSelezioni = explode("|",$servizi);
e cercato di echare $varieSelezioni[1]....
risultato nullo

Comunque ho risolto il problema (anche se non lo sa grazie a LUKAWEB) inserendo (vedi suo tutorial) i pulsanti di scelta in un div con maniglia di scorrimento (ascensore) peccato che i colori della barra vadano bene solo su IE

ciao
 
lukeonweb (copy and paste)
le ns risposte si sono incrociate in real time

comunque si

se selziono due valori contigui o non contigui nella pagina php che raccoglie i valori (classico $_POST) e stampo con echo i (anzi il) valori mi risulta stampato solo l'ultimo valore selezionato anzi solo im maggiore,
se sleziono 1 e po 5 oppure 5 e poi 2

mi stampa sempre 5

comunque come ho detto mi sembra che utilizzando i pulsanti scelta ci siano meno problemi

grazie
 
E' molto strano, dev'essere un comportamento peculiare del PHP... in ASP si ottiene una stringa composta da tutti i valori selezionati divisa da "virgola spazio" quindi:

opzione 1
opzione 2
opzione 3

risultato:

1, 2, 3

Immagino che in PHP si debba filtrare il $_POST con qualche funzione, ma non so quale...

Se provi coi checkbox mica ti da lo stesso tipo di anomalia?
 
no il check box non da problemi anche perche la selezione di uno deselezione gli altri, comunque come detto grazie ad un tuo tutorial ho risolto il problema e i pulsanti di scelta (numerosi) non mi occupano più tutta l'altezza della pagina (div con barra di scorrimento)

grazie e ciao
 

Discussioni simili