Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    59

    Salvare più valori tramite checkbox in un database

    Ok non mi mangiate..
    non sapevo dove postare visto che il mio problema riguarda sia le checkbox (html) che il database, ma pensavo di risolvere con qualche variabile php.

    Ho un form che invia al database dei valori.

    Alcuni di questi valori vengono selezionati con delle checkbox, ma selezionando più caselle per una sola tabella del database, il valore che si va a salvare è uno solo (mi sembra l'ultimo selezionato).

    A me servirebbe che nel database si salvino tutti i valori che seleziono con le checkbox.

    Inoltre vorrei che quando vado a modificare questi valori con un ulteriore form, le checkbox selezionate vengono riportate come checked.

    Ho visto che il problema si presenta a molti utenti, ma googlando ancora non ho trovato una soluzione.

    Come posso fare?

  2. #2
    Ciao, supponendo che tu abbia già stampato i checkbox mediante un ciclo, devi assegnare il name ai checkbox in questo modo name="check[]" nelle parentesi quadre puoi inserire l'id del record, così facendo puoi prendere i valori nel seguente modo:
    $check=$_POST ['check']; // $_GET se usi il get
    // in questo modo accedi uno ad uno ai checkbox
    foreach ( $check as $key => $value ) {
    if($value=="on){
    // questo checkbox è stato selezionato
    // il codice è rappresentato da $value
    // ora puoi eseguire la query di aggiornamento
    }
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    59
    Ciao grazie per la risposta.

    Seguendo questo metodo risolvo il problema di riportare i checkbox selezionati, o anche quello di immissione dei valori nel database?

  4. #4
    Originariamente inviato da Zed92
    Seguendo questo metodo risolvo il problema di riportare i checkbox selezionati
    Cosa intendi per riportare i checkbox selezionati ?
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    59
    Ovvero che quando vado nel form che serve a modificare quei valori immessi, devo ritrovare le checkbox che avevo selezionato in precedenza con l'attributo checked.

    Il codice che hai postato tu serve per inserire nel database più valori?

  6. #6
    Si il codice server per inserire più valori nel db, ovviamente mancano le query di inserimento.
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    59
    Purtroppo non ho ben capito come far funzionare lo script.

    I checkbox li ho messi cosi name="check[]"

    Il valore è sempre uguale, in quanto fa riferimento alla tabella in cui si va a salvare il valore.

    Ho inserito $check=$_POST ['check']; tra le variabili della mia pagina.

    Adesso non ho ben capito come far funzionare questo:

    foreach ( $check as $key => $value ) {
    if($value=="on"){
    }

    Un grazie anticipato a chi risponderà.

  8. #8
    foreach ( $check as $key => $value ) {
    if($value=="on"){
    }
    }

    Il foreach serve per scorrere l'array dei checkbox, mentre l'if serve per capire se il ceckbox corrente è stato selezionato.
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    59
    Scusate ma ancora non ho capito come applicarlo :S

    Le checkbox sono queste:

    <input type="checkbox" name="check[categoria]" value="Arcade">Arcade
    <input type="checkbox" name="check[categoria]" value="Avventura">Avventura
    <input type="checkbox" name="check[categoria]" value="Carte">Carte
    <input type="checkbox" name="check[categoria]" value="Casino">Casinò
    <input type="checkbox" name="check[categoria]" value="Classico">Classico
    <input type="checkbox" name="check[categoria]" value="Combattimento">Combattimento


    <input type="checkbox" name="check[categoria]" value="Giochi-da-tavolo">Giochi da tavolo
    <input type="checkbox" name="check[categoria]" value="Guerra">Guerra
    <input type="checkbox" name="check[categoria]" value="Hobby">Hobby
    <input type="checkbox" name="check[categoria]" value="Motori">Motori
    <input type="checkbox" name="check[categoria]" value="Puzzle-Game">Puzzle Game
    <input type="checkbox" name="check[categoria]" value="Quiz">Quiz
    <input type="checkbox" name="check[categoria]" value="Sexy">Sexy


    <input type="checkbox" name="check[categoria]" value="Shoot-em-up">Shoot'em'up
    <input type="checkbox" name="check[categoria]" value="Simulazione">Simulazione
    <input type="checkbox" name="check[categoria]" value="Spaziali">Spaziali
    <input type="checkbox" name="check[categoria]" value="Sport">Sport

    Ho messo il name come hai detto tu.

    Nel php ho messo questa variabile: $check=$_POST ['check'];

    Adesso non ho capito dove inserire questo codice e come compilarlo:

    foreach ( $check as $key => $value ) {
    if($value=="on"){
    }

  10. #10
    Non devi impostare i checkbox in questo modo:
    <input type="checkbox" name="check[categoria]" value="Arcade">Arcade
    ma
    <input type="checkbox" name="check[]" value="Arcade">Arcade

    Invece per quanto riguarda il foreach mi ero confuso con i radiobutton, quindi mi scuso e ti posto tutto il codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    </head>
    <body>
    <?php
    if(isset($_GET['submit'])){
    foreach ( $check as $key => $value ) {
    qui puoi eseguire le operazioni sui chechbox selezionati,
    quindi nella variabile $key avrai l'indice, mentre nella variabile $value hai il valore che è stato selezionato.
    }
    }
    ?>
    <form action="prova.php">
    <input type="checkbox" name="check[]" value="Arcade">Arcade
    <input type="checkbox" name="check[]" value="Avventura">Avventura
    <input type="checkbox" name="check[]" value="Carte">Carte
    <input type="checkbox" name="check[]" value="Casino">Casinò
    <input type="checkbox" name="check[]" value="Classico">Classico
    <input type="checkbox" name="check[]" value="Combattimento">Combattimento


    <input type="checkbox" name="check[]" value="Giochi-da-tavolo">Giochi da tavolo
    <input type="checkbox" name="check[]" value="Guerra">Guerra
    <input type="checkbox" name="check[]" value="Hobby">Hobby
    <input type="checkbox" name="check[]" value="Motori">Motori
    <input type="checkbox" name="check[]" value="Puzzle-Game">Puzzle Game
    <input type="checkbox" name="check[]" value="Quiz">Quiz
    <input type="checkbox" name="check[]" value="Sexy">Sexy


    <input type="checkbox" name="check[]" value="Shoot-em-up">Shoot'em'up
    <input type="checkbox" name="check[]" value="Simulazione">Simulazione
    <input type="checkbox" name="check[]" value="Spaziali">Spaziali
    <input type="checkbox" name="check[]" value="Sport">Sport
    <input type="submit" name="submit">
    </form>
    </body>
    </html>



    Spero di essermi spiegato. Se hai problemi fammi sapere.
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

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 © 2025 vBulletin Solutions, Inc. All rights reserved.