Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    75

    Select con scelte multiple

    Salve, sto avendo delle difficolt� con una select con scelte multiple. Io tramite un form salvo dei dati in un db mysql, fino ad ora ho utilizzato le checkbox, quindi mi rivotavo ogni singolo valore, quindi per me era facile inserire nel db 0 o 1. Ora devo salvare gli stessi dati con una select a scelta multipla (mai usata prima), ma ho notato che in questo modo non ricevo pi� i valori separati ma uniti in un array. Ora per separare i valori avevo pensato di fare una cosa del genere: Creare x checkbox nascosti per quanti option della select ci sono, poi tramite un change selezionare il rispettivo checkbox, in base alle option selezionate. Ma non sono riuscito a farlo funzionare... ecco il codice

    codice HTML:
    $('#select').change(function() {        /* Act on the event */        console.log($(this).val());        $("#select option:selected").each(function() {            $('#check1').prop("checked", $(this).val() == 'opzione1' ? true : false);            $('#check1').prop("checked", $(this).val() == 'opzione2' ? true : false);            $('#check1').prop("checked", $(this).val() == 'opzione3' ? true : false);        });    });
    Potete darmi una mano.

    PS. se c'� una soluzione migliore sono tutto orecchie....

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Cosa ne fai dopo dei valori ? Hai una form ? Mandi i dati tramite ajax ?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    75
    Si, si tratta di un form i dati li invio tramite Ajax a una pagina php dove elaboro i dati e li salvo su db mysql

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Trattare i dati è semplice.

    Codice PHP:
    <html>
    <head>
    </head>
    <body>
    <?php
    if (isset($_POST['pippo'])) {
     foreach(
    $_POST['pippo'] as $key => $value) {
      print 
    "chiave $key => valore $value<br/>";
     }
    }
    ?>
    <form action="" method="post">
    <select name="pippo[]" multiple >
       <option value="volvo">Volvo</option>
       <option value="saab">Saab</option>
       <option value="opel">Opel</option>
       <option value="audi">Audi</option>
    </select> 
    <input type="submit" />
    </form>
    </body>
    </html>
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    75
    Scusami ma poi come faccio ad assegnare i valori ricevuti alle variabili che utilizzo per l'insert nel db? se ho capito bene ricevo i dati in questo modo:

    nome_select => valore1
    nome_select => valore2
    nome_select => valore3

    invece io devo salvare i dati con queste variabili:

    chek1 = 0
    chek2 = 1
    chek3 = 0

  6. #6
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Codice PHP:
    <html>
    <head>
    </head>
    <body>
    <?php
    // Di default nulla viene selezionato
    $chek1 0;
    $chek2 0;
    $chek3 0;
    if (isset(
    $_POST['pippo'])) {
     foreach(
    $_POST['pippo'] as $key => $value) {
      if (
    $value == '1') {$chek1 1;}
      if (
    $value == '2') {$chek2 1;}
      if (
    $value == '3') {$chek3 1;}
     }
    }
    echo 
    "Scelta 1 => $chek1<br/>Scelta 2 => $chek2<br/>Scelta 3 => $chek3<br/>";
    ?>
    <form action="" method="post">
    <select name="pippo[]" multiple >
       <option value="1">Scelta 1</option>
       <option value="2">Scelta 2</option>
       <option value="3">Scelta 3</option>
    </select> 
    <br/>
    <input type="submit" />
    </form>
    </body>
    </html>
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    75
    Perfetto, funziona alla grande, alla fine è quasi simile al metodo che volevo usare con js... Grazie ancora.

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    75
    Ciao a tutti, aggiorno la mia domanda, perchè ho un problema. Sto usando il codice scritto da blade, funziona come dovrebbe, però mi ritrovo nel file log questo messaggio di errore: [09-May-2017 19:52:51 Europe/Berlin] PHP Warning: Invalid argument supplied for foreach() in

    ​Controllando sembra tutto ok, secondo voi cosa potrebbe essere? vi posto anche il codice che utilizzo, magari c'è qualche errore che non vedo.

    Codice PHP:
    $valore1 0;
    $valore2 0;
    $valore3 0;
    $valore4 0;
    $valore5 0;

    foreach(
    $_POST['dati_select'] as $key => $value) { 
       if (
    $value == 'val1') {$valore1  1;}
       if (
    $value == 'val2') {$valore2  1;}
       if (
    $value == 'va3') {$valore3  1;}    
       if (
    $value == 'val4') {$valore4  1;}    
       if (
    $value == 'val5') {$valore5   1;}


  9. #9
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Ti manca l'isset nel caso in cui non fai nessuna selezione.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.