Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di the-bit
    Registrato dal
    Feb 2005
    Messaggi
    543

    aggiornare campi mysql in base a checkbox selezionati

    Buona sera,
    dovrei effettuare delle operazione di inserimento valori in un DB mysql così strutturato:
    Campo 1 = 0 (di default)
    Campo 2 = 0
    Campo 3 = 0
    ....
    Campo n = 0

    In un form, do la possibilità di selezionare alcuni checkbox e vorrei, quindi, che all'invio del form, vengano aggiornati solo i checkbox selezionati. Come fare?
    Inizialmente i select non avevano dei "costi", perciò settavo ogni checkbox con value="1" e andavo a inserire tutti i checkbox nel Db, così se un check box era selezionato, sovrascriveva lo 0 col valore (1), sennò lo lasciava inalterato.
    Ora però questo discorso non posso farlo poichè i checkbox hanno un valore diverso per ogni value (che devo inserire in un'altra tabella) e devo continuare a settare a 1 i campi selezionati.

    Qualche idea?
    "To iterate is human, to recurse, divine." (R.(Heller))

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    Codice PHP:
    <html>
        <
    head>
            <
    title>Lista Checkbox</title>
        </
    head>
        <
    body>
            <
    h1>LISTA CHECKBOX</h1>
            


                <
    form method="post" action="recuperaCheckbox.php">
                    <
    input type="checkbox" name="myCheck[a]" value="Valore A" /> Valore A
                    

                    
    <input type="checkbox" name="myCheck[b]" value="Valore B" /> Valore B
                    

                    
    <input type="checkbox" name="myCheck[c]" value="Valore C" /> Valore C
                    

                    
    <input type="submit" value="invia form" />
                </
    form>
            </
    p>
        </
    body>
    </
    html
    Codice PHP:
    <?php 
    $myCheck 
    $_POST['myCheck']; 

    foreach (
    $myCheck as $key => $value) { 
        echo 
    "Hai selezionato la checkbox: $key con valore: $value
    "


    ?>

  3. #3
    Utente di HTML.it L'avatar di the-bit
    Registrato dal
    Feb 2005
    Messaggi
    543
    Ciao,
    grazie per l'ottima idea.
    E per aggiungere i rispettivi valori nel Db, cosa sarebbe meglio fare?
    Una cosa del genere:
    Codice PHP:
    <?php 
        $myCheck 
    $_POST['myCheck']; 

        foreach (
    $myCheck as $key => $value
        { 
            if(isset(
    $myCheck))
            {
                
    $sql "INSERT INTO table ($key) VALUES ($value)";
                
    mysql_query($sql$connessione);
            }
        } 
    ?>
    Oppure concatenare tutti i valori in un'unica stringa separata da un carattere speciale (tipo "@") e poi riottenerle con un explode?

    Grazie.

    EDIT: l'idea della query nel foreach non funziona come dovrebbe poichè mi aggiunge n righe quante sono le volte che viene ripetuto il ciclo. Sto sbagliando qualcosa...
    "To iterate is human, to recurse, divine." (R.(Heller))

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.