Visualizzazione dei risultati da 1 a 8 su 8

Discussione: checkbox e mysql

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    5

    checkbox e mysql

    Mi chiamo Samuele e sono alle prime armi con php.
    Ho creato un form che ha lo scopo di inviare il profilo dei miei clienti ad un database realizzato con mysql.
    Ad un certo punto del form viene chiesto all'utente di inserire quali sono i suoi hobbies, dato che si può avere più di un hobby ho predisposto una serie di check box dove si può decidere fra ex. ecologia, musica,ballo ecc.... questi dovrebbero poi venir inviati dallo script (create.php) ad un campo di tipo SET (che permette di inserire al suo interno uno o anche tutti i valori predefiniti) del mio database mysql.
    Il problema è che viene inviata sempre solo una scelta e non più ( musica, ballo e fotografia per esempio) cioè nella tabella del db trovo solo l'ultima voce selezionata.

    o provato così:
    Ecologia <input type="checkbox" name="hobbies[]"value="ecologia,"> Musica <input type="checkbox" name="hobbies[]"value="musica">
    Cinema <input type="checkbox" name="hobbies[]" value="cinema">


    e in create.php

    '".$_POST['hobbies']."',

    ma non funziona.

    Sarei grato a chiunque mi spiegasse come risolver questo problema.

    La mia versione di php è la 4.3.2
    Samuele

    mail samuele.de_marie@virgilio.it

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    $_POST['hobbies'] è un'array, e come tale lo devi trattare. prova a fare print_r($_POST['hobbies']), ottieni tutti i valori dell'array.

    $_POST['hobbies'][0]
    $_POST['hobbies'][1]
    $_POST['hobbies'][2]
    ...
    $_POST['hobbies'][n]
    think simple think ringo

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    5
    Ciao Marketto

    non capisco mi spieghi meglio?

    samule

  4. #4
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    i risultati dei vari checkbox ti vengono restituiti come array. quindi $_POST['hobbies'] sarà un'array, contenente le varie risposte. per visualizzarle devi gestire l'array in questo modo:
    $_POST['hobbies'][0], $_POST['hobbies'][1], ...,$_POST['hobbies'][n].
    think simple think ringo

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    5
    Adesso mi da quest'errore :
    ave an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'commerciante','', '','','','', '','ecologia','musica', 'cinema'


    se non ti secca ti mando il codice guarda se ho scritto giusto :-)

    <?php
    $host = "localhost" ;
    $user= "root" ;
    $password="" ;
    $database="ghismoclienti" ;

    $db =mysql_connect($host, $user, $password)
    or die ("impossibile connettersi al server $host");

    mysql_select_db($database, $db)
    or die ("impossibile connettersi al database $database");

    if ($_POST["submit"] == "Sign!")
    {
    $query = "insert into clienti " .
    "(Nome,Cognome,DataDiNascita,Sesso,Indirizzo,Civic o,Paese,Cap,
    TelCasa,TelUfficio,Cell,Currier,Fax,Email,
    CNome,CDataDiNascita,1FNome,1FDataDiNascita,
    2FNome,2FDataDiNascita,3FNome,3FDataDiNascita,
    TitoloDiStudio,TitoloDiStudio1,Lavoro,Lavoro1,Auto nomo,PeriodoDiVacanza,
    Settimana,Partenza,Arrivo,HobbyInteressi,HobbyInte ressi1,Sport,Sport1,Destinazioni,Destinazioni1,
    Budget,bds1,InteressiTourGhismo,Gruppo,MezzoDiTras porto,Vacanza,Vacanza1)".
    " values ('".$_POST['nome']."','".$_POST['cognome']."','".$_POST['data_di_nascita']."','".$_POST['sesso'].",
    '".$_POST['indirizzo']."','".$_POST['numero_civico']."','".$_POST['paese']."',
    '".$_POST['cap']."','".$_POST['telefono_abitazione']."','".$_POST['telefono_lavoro']."',
    '".$_POST['cellulare']."','".$_POST['currier']."','".$_POST['fax']."','".$_POST['email']."',
    '".$_POST['nomec']."','".$_POST['data_di_nascitac']."','".$_POST['nomef1']."',
    '".$_POST['data_di_nascitaf1']."','".$_POST['nomef2']."','".$_POST['data_di_nascitaf2']."',
    '".$_POST['nomef3']."','".$_POST['data_di_nascitaf3']."','".$_POST['titolo_di_studio']."',
    '".$_POST['titolo_di_studio1']."','".$_POST['lavoro']."','".$_POST['lavoro1']."',
    '".$_POST['autonomo']."','".$_POST['pdv']."','".$_POST['pdv1']."','".$_POST['partenza']."',
    '".$_POST['ritorno']."','".$_POST['hobbies'][0]."','".$_POST['hobbies'][1]."',
    '".$_POST['hobbies'][2]."','".$_POST['hobbies'][3]."','".$_POST['hobbies'][4]."',
    '".$_POST['hobbies'][5]."','".$_POST['hobbies'][6]."','".$_POST['hobbies'][7]."',
    '".$_POST['hobbies1']."','".$_POST['sport']."','".$_POST['sport1']."','".$_POST['ddi']."',
    '".$_POST['ddi1']."','".$_POST['bds']."','".$_POST['bds1']."','".$_POST['ghismo']."',
    '".$_POST['gruppo']."','".$_POST['mezzo']."','".$_POST['vacanza']."','".$_POST['vacanza1']."')";

    mysql_query($query) or
    die (mysql_error());
    }
    ?>
    <h2>Thanks!!</h2>
    <h2>View My Guest Book!!!</h2>

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    5
    Ciao Marketto
    Devo aver esagerato inviandoti tutto il file scusa.
    Ho provato eliminando tutto ciò che è superfluo per la comprensione del problema cioè:

    <?php
    $host = "localhost" ;
    $user= "root" ;
    $password="" ;
    $database="ghismoclienti" ;

    $db =mysql_connect($host, $user, $password)
    or die ("impossibile connettersi al server $host");

    mysql_select_db($database, $db)
    or die ("impossibile connettersi al database $database");

    if ($_POST["submit"] == "Sign!")

    {
    $query = "insert into clienti " .
    "(Nome,HobbyInteressi)".
    " values ('".$_POST['nome']."','".$_POST['hobbies'][0]."','".$_POST['hobbies'][1]."',
    '".$_POST['hobbies'][2]."','".$_POST['hobbies'][3]."','".$_POST['hobbies'][4]."',
    '".$_POST['hobbies'][5]."','".$_POST['hobbies'][6]."','".$_POST['hobbies'][7]."')";

    mysql_query($query) or
    die (mysql_error());
    }
    ?>
    <h2>Thanks!!</h2>
    <h2>View My Guest Book!!!</h2>
    }


    Sta volta mi dice:
    Column count doesn't match value count at row 1 cioè la quantità di colonne non corrisponde a quella dei valori specificati.

    Non so che fare .
    Grazie per l'aiuto.
    Samuele

  7. #7
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    non c'è corrispondenza fra il numero di colonne ed il numero di valori che provi ad inserire...
    devi mettere gli hobbies dentro una stringa, magari separandoli con un particolare carattere, e successivamente mettere qst stringa nel db.
    think simple think ringo

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    5
    ciao Marketto,
    ho risolto facendo $variabile=implode(",",$variabile).
    Grazie
    Samuele

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.