- Home
- Categorie
- Coding e Sistemistica
- PHP
- Campo di Scelta Multipla e Singola e Relazioni
-
Campo di Scelta Multipla e Singola e Relazioni
Mi sto avvicinando in questi giorni al PHP e sto cercando di studiare facendo pratica e sviluppando un applicativo che mi serve da tempo.
In pratica l'applicativo, molto semplice, non fa altro che installarsi e poi iniziare a lavorare mostrando all'utente i dati contenuti nel database, con la possibilità di filtrare dati, cercarli ed inserirne di nuovi.
Fino qui tutto ok, inserire nuovi dati e visualizzarli è abbastanza semplice e una volta che si è entrati in "ottica PHP" si procede abbastanza spediti..Mi sono però bloccato su un paio di problemi: avrei bisogno di avere due campi che in modalità di inserimento appaiano come scelta multipla e singola e che poi vengano visualizzati come gli altri campi.
Faccio un esempio stupido, nel primo caso, quello della scelta multipla in modalità inserimento deve esserci una cosa del generedisponibili selezionati _____________ ______________ |rosso | _______ | | |verde | |aggiungi| | | |giallo | | -> | | | | | ______ | | | | |rimuovi| | | | | | <- | | | | | | | |_____________| |_____________|
Cliccando sui pulsanti si selezionano i colori che si desiderano e si trascinano nel box di destra. Quando il modulo viene inviato quelli a destra vengono inseriti nel campo colore, gli altri no.
Alla fine, se avremo selezionato Rosso e Blu ad esempio nel campo colore dovrà essere visualizzata una cosa simile:Rosso, Blu
Se è troppo complesso con i box può essere anche fatto con i checkbox(i quadratini con la spunta), in access lo facevo così ad esempio..
L'altra funzione invece dovrebbe essere semplicemente un menu a tendina da cui selezionare una singola opzione, ad esempio l'anno di nascita.
Potete postarmi qualche riga di codice d'esempio? Devo creare due tabelle con le opzioni elencate giusto?
Grazie a tutti
-
Ciao pdellov,
non mi è ben chiaro se ti servono delle dritte lato server e mysql oppure se
hai bisogno di un'aiuto nella preparazione dell'interfaccia grafica.Ciao
-
In realtà tutte e due, poiché non ho mai fatto un campo ad inserimento multiplo..
-
Ciao pdellov,
dunque per la scelta multipla è corretto utilizzare un set di checkbox.Come funzionano?
[php]
<form method="post" action="recuperaCheckbox.php">
<input type="checkbox" name="myCheck[a]" value="Valore A" /> Valore A
<br />
<input type="checkbox" name="myCheck**" value="Valore B" /> Valore B
<br />
<input type="checkbox" name="myCheck" value="Valore C" /> Valore C
<br />
<input type="submit" value="invia form" />
</form>
[/php]Siccome offrono la possibilità di una scelta multipla è corretto considerarle come fossero un array di valori che viaggeranno in POST dopo il submit del FORM HTML.
Quindi nella pagina php che recupererà i valori scelti dobbiamo prepararci ad utilizzare un Array.
pagina recuperaCheckbox.php:
[php]
<?php
$myCheck = $_POST['myCheck'];foreach ($myCheck as $key => $value) {
echo "Hai selezionato la checkbox: $key con valore: $value<br />";
}
?>
[/php]Non è molto complesso e se ci pensi un array è la naturale soluzione al problema di ricevere molteplici valori come $_POST, $_SESSION .
Ciao
-
Quindi alla fine non mi servono due tabelle(una per la singola e una per la multipla) con tutte le possibilità, ma si agisce direttamente da codice e da lì si compila un campo prima vuoto..
-
Esatto (se non ho capito male).
In fase di visualizzazione proporrai un campo con l'unione di tutte le scelte fatte, mentre in fase di salvataggio - o meglio di scelta dei dati da salvare -
userai liste di scelte multiple.Spero di averti capito.
Ciao
-
Esiste un plugin jquery (lato client, ma così dev'essere) che fa esattamente quello che chiedi.
-
Grazie a tutti, sono riuscito a risolvere con gli array(poi andavano manipolati e ci ho perso un po' di tempo ma sinceramente prima non sapevo nemmeno da dove partire..).
Ho completato tutto, mi manca solo la funzione filtro. In pratica devo fare un form identico a quello di inserimento che però filtra i dati in modo da mostrare solo quelli che soddisfino determinate caratteristiche.
Come posso fare?