ho bisogno quando faccio un submit di portarmi dietro l'oggetto select, per poi prendermi in un ciclo tutti i valori al suo interno, esempio:
Pagine: 1 [2]
13/10/2017 15:38:52
Con un po' di javascript al momento del submit si potrebbe risolvere facilmente, ma io te lo sconsiglierei.Se ti ritrovi a dover fare una cosa del genere forse è perchè stai usando in modo inappropriato la select. Prova a spiegarci come mai ti serve una cosa del genere, magari ci sono soluzioni più consone
---Non chiedetemi aiuto in privato per questioni di programmazione; chiedete sul forum e eventualmente vi risponderò lì.[Link ] - Hosting per GDR
13/10/2017 16:08:05
in pratica quella select si popola in modo dinamico in base alle scelte che vengono fatte con tante option sulle schermate precedenti, per cui se scelgo caffè, latte, maionese ecc me li mette in questa select, anche perchè io posso selezionando caffè, toglierlo dalla lista prima del submit, poi al submit lui dovrebbe con un ciclo prendere il primo valore e inserirlo nel db, poi passo al secondo ecc.., non c'e' modo di portarsi dietro tutto l'oggetto "select"?
13/10/2017 17:11:16
(pagina1.php)
13/10/2017 22:55:12
Se proprio vuoi fare una form a più passaggi, il metodo più veloce, è portarti dietro un array.
14/10/2017 20:27:49
Io lo implementerei con una di queste due soluzioni:1_Mantieni il tag select, ma gli aggiungi l'attributo multiple="multiple" e a ogni option ti assicuri di mettere l'attributo selected="selected"In questo modo avrai una select che accetta una selezione multipla di valori. (NOTA: il nome della select deve avere le [] per poter diventare un array quando arriva a php. Quindi se prima la select si chiamava pippo ora dovrà chiamarsi pippo[])2_Invece di una select utilizzare una collezione di checkbox, tutte con lo stesso name (per esempio tutte devono essere chiamate pippo[] in modo da diventare un array in PHP). Ti fai una checkbox per ogni valore che vuoi e le selezioni tutte (impostando l'attributo checked="checked" al tag input)Così ti eviti javascript e utilizzi una soluzione già standard
17/10/2017 16:28:04
grazie ho fatto così:
1_Mantieni il tag select, ma gli aggiungi l'attributo multiple="multiple" e a ogni option ti assicuri di mettere l'attributo selected="selected"In questo modo avrai una select che accetta una selezione multipla di valori. (NOTA: il nome della select deve avere le [] per poter diventare un array quando arriva a php. Quindi se prima la select si chiamava pippo ora dovrà chiamarsi pippo[])
23/10/2017 15:02:37
stavo provando la soluzione proposta ma non mi funziona, non capisco se sto sbagliando qualcosa, ovviamente il valore lo passo selected(ma non cambia):
23/10/2017 15:22:03
La parte di codice che hai citato sembra corretta (a parte le option non selezionate). Potrebbero esserci altri dettagli nella pagina che non la fanno funzionare correttamente.P.S.: io starei attento ai problemi di sicurezza della tua land. Quella query con $op inserita dentro senza controlli è pericolosissima.
24/10/2017 13:10:37
ho notato che se faccio:print_r($_POST['option1']);print_r($_POST);[option1] => Array ( [0] => 1 ) [option2] => Array ( [0] => 55 )il primo mi torna vuoto, il secondo lo vede pieno, ora mi chiedo dove sto sbagliando???
24/10/2017 14:00:16
Ciao,considera quello che ha detto leo riguardo alla struttura del codice ed alla sicurezza. Considera poi anche quello che ha detto rays per una migliore funzionalità.Il tutto si traduce in creare un file header dove andrai a salvare l'array contenente tutte le opzioni della select. In questa maniera ogni volta che vorrai aggiornare un'opzione ti basterà operare su un unico file senza andare in tutti gli altri dove la select è richiamata. Per quanto riguarda la sicurezza puoi iniziare a guardare le funzioni filter_var del php [Link ] sapendo però che non sono un punto di arrivo. --header.php