problema con checkbox dinamiche e mysql

Salve a tutti.sono una novizia del php e iniziando a programmare sono giunta ad un problema.ho creato una pagina aggiungi prodotto.php dove l'amministratore può inserire un nuovo prodotto all'interno del suo catalogo, solo che questo prodotto deve essere formato da quattro componenti standard, scelta che viene fatta attraverso una lista di checkbox che ho creato.ora,provando il form di inserimento nome,categoria sesso descrizione e foto invia i dati all'interno di una tabella database prodotto( e questo avviene per mia fortuna).a questo form devo aggiungere la scelta che l'amministratore effettua dalle checkbox,e che dovrebbe inviare al database in una tabella configurazione,i codici dei pezzi standard associati al codice del prodotto creato una volta che l'amministratore clicca sul submit fella form.la mia tabella configurazione è formata quindi da cod_prodotto[varchar], cod_pezzo[varchar] ,standard[enum si,no]. i miei problemi ora sono:come faccio a inviare questi id al database, dato che le checkbox vengono create dinamicamente e non posso sapere il nome della checkbox selezionata? vi allego il codice della mia pagina per aver un'idea più chiara....vi prego adtemi uno spunto e una mano..include './pagina_delle_gestioni.php';

   $CSS = '<link rel="stylesheet" type="text/css" href="./CSS/foglio.css">';        get_header('Aggiungi prodotto','',$CSS,''); //contenuta in libs.php, stampa il nome nell'header di ogni pagina in automatico    get_menu();         //contenuta in libs.php, stampa il menù, sulla base dei permessi, diverso ad ogni utenza    auth_block();        //contenuta in libs, serve a caricare il blocco di autenticazione utile per loggare l'utente            if(isset($_REQUEST["mode"]))    {       //una volta effettuate le varie scelte.si può procedere all'inserimento del prodotto all'interno del database       if($_REQUEST["mode"]==1)       {           //inserimento record prodotto                      $name= trim($_REQUEST['nome']);                  //   recupero il campo nome di tipo stringa             $anno= ($_REQUEST['anno']);                         //  recupero il campo anno          $catalogo= ($_REQUEST['in_catalogo']);              //  recupero il campo catalogo          $descrizione = trim($_REQUEST['descrizione']);         //  recupero il campo descrizione di tipo stringa            $sesso =($_REQUEST['sesso']);                           //  recupero il campo sesso

                         include('./include/connect.php');          $db_connection = mysql_connect($HOST, $USER, $PASSWORD);          mysql_select_db($DB, $db_connection);           $img_dir = "immagini/"; //definisco il percorso della cartella in cui inserire l'immagine           $uploadfile = ($_FILES['foto']['name']);              move_uploaded_file($_FILES['foto']['tmp_name'], $img_dir.$uploadfile);           $db_query = "INSERT INTO prodotto (`nome`, `anno_produzione`, `descrizione`, `foto`, `in_catalogo`, `sesso`) VALUES ('".$nome."','".$anno."','".$descrizione."','".$img_dir.$uploadfile."','".$catalogo."','".$sesso."')";          //invio la query e controllo l'esito          mysql_query($db_query,$db_connection) or die ("Query non valida: ". mysql_error());          //chiudo la query          mysql_close($db_query);           }                }      echo '<div class="corpo_pezzi">';     echo  "   <form \"name=\"inserimento_componente\" method=\"post\" action=\"aggiungi_prodotto.php?mode=1\"> <table border =\"1\" width=\"100%\">    <tr>       <td class=\"td_form\">NOME: <input type=\"text\" name=\"nome\"/></td>       <td class=\"td_form\">SESSO: <select name=\"sesso\">                    <option value=\"seleziona\">seleziona</option>                     <option value=\"uomo\">uomo</option>                     <option value=\"donna\">donna</option>           </select></td>       <td class=\"td_form\">ANNO: <select name=\"anno\">                    <option value=\"seleziona\">seleziona</option>                     <option value=\"2008\">2008</option>                     <option value=\"2009\">2009</option>                     <option value=\"2010\">2010</option>          </select></td>    </tr>    <tr>          <td colspan=\"2\" class=\"td_form\">INSERIRE FOTO: <input type=\"file\" id=\"foto\"  name=\"foto\"/></td>          <td class \"td_form\"> IN CATALOGO :<input name=\"in_catalogo\" type=\"checkbox\" value=\"si\" checked></td>    </tr>    <tr>       <td colspan=\"3\"  class=\"td_form\">DESCRIZIONE :<textarea cols='100' rows='4' name=\"descrizione\"></textarea></td>    </tr>        <p>Riempire TUTTI i campi sottostanti della form.<br>    Selezionare tra gli elementi CHECKBOX,quelli che andranno a comporre la composizione standard del prodotto.<br>         Ricordare che checkbox selezionata = elemento STANDARD; checkbox deselezionata = elemento OPZIONALE.        </p>"; echo" </table> <table border=\"1\" width=\"100%\">     <tr>        <td>Componenti</td><td>Standard / Opzionali</td>     </tr>     <tr>        <td>Montatura</td>                <td>";

            include('./include/connect.php');          $db_connection = mysql_connect($HOST, $USER, $PASSWORD);          mysql_select_db($DB, $db_connection);          $db_query6 = "SELECT `cod_componente`,`nome`,`foto` FROM `componente` WHERE `tipo`='montatura'";          $opmon=mysql_query($db_query6,$db_connection) or die ("Query6 non valida:". mysql_error());                             $outmon="<p>";          while($riga = mysql_fetch_array($opmon)){             $codmon=$riga['cod_componente'];             $name=$riga['nome'];             $foto=$riga['foto'];          $outmon.="<input type =\"checkbox\" name=\"".$codmon."\" value=\"".$codmon."\"/>[".$codmon."]   ".$name."   <img src= ".$foto."><br><br>";         }          $outmon.="</p>";          mysql_close($db_connection);          echo $outmon;       echo"</td>        </tr>        <tr>           <td>Nasello</td>           <td>";                   include('./include/connect.php');          $db_connection = mysql_connect($HOST, $USER, $PASSWORD);          mysql_select_db($DB, $db_connection);          $db_query7 = "SELECT `cod_componente`,`nome`,`foto` FROM `componente` WHERE `tipo`='nasello'";          $opnas=mysql_query($db_query7,$db_connection) or die ("Query7 non valida:". mysql_error());                    $outnas="<p>";          while($riga = mysql_fetch_array($opnas)){             $codnas=$riga['cod_componente'];             $name=$riga['nome'];             $foto=$riga['foto'];             $outnas.="<input type =\"checkbox\" name=\"".$codnas."\" value=\"".$codnas."\"/>[".$codnas."]   ".$name."   <img src= ".$foto."><br><br>";         }          $outnas.="</p>";          mysql_close($db_connection);          echo $outnas;       echo"</td>        </tr>        <tr>           <td>Stanghetta</td>           <td>";                      include('./include/connect.php');          $db_connection = mysql_connect($HOST, $USER, $PASSWORD);          mysql_select_db($DB, $db_connection);          $db_query8 = "SELECT `cod_componente`,`nome`,`foto` FROM `componente` WHERE `tipo`='stanghetta'";          $opsta=mysql_query($db_query8,$db_connection) or die ("Query8 non valida:". mysql_error());          $outsta="<p>";          while($riga = mysql_fetch_array($opsta)){             $codsta=$riga['cod_componente'];             $name=$riga['nome'];             $foto=$riga['foto'];             $outsta.="<input type =\"checkbox\" name=\"".$codsta."\" value=\"".$codsta."\"/>[".$codsta."]   ".$name."   <img src= ".$foto."><br><br>";         }          $outsta.="</p>";          mysql_close($db_connection);          echo $outsta;       echo"</td>        </tr>        <tr>        <td>Lente</td>        <td>";

         include('./include/connect.php');          $db_connection = mysql_connect($HOST, $USER, $PASSWORD);          mysql_select_db($DB, $db_connection);          $db_query9 = "SELECT `cod_componente`,`nome`,`foto` FROM `componente` WHERE `tipo`='lente'";          $oplen=mysql_query($db_query9,$db_connection) or die ("Query9 non valida:". mysql_error());                    $outlen="<p>";          while($riga = mysql_fetch_array($oplen)){             $codlen=$riga['cod_componente'];             $name=$riga['nome'];             $foto=$riga['foto'];             $outlen.="<input type =\"checkbox\" name=\"".$codlen."\" value=\"".$codlen."\"/>[".$codlen."]   ".$name."   <img src= ".$foto."><br><br>";          }          $outlen.="</p>";          mysql_close($db_connection);          echo $outlen;       echo"</td>        </tr>        <tr>       <td class=\"td_form\"><input type=\"submit\" name=\"inserisci\" value =\"inserisci\" /></td>       <td class=\"td_form\"><input type=\"reset\" name=\"annulla\" value =\"annulla\"/></td>        </tr>        </table>        </form>";       echo '</div>'; 

inviato 6 anni fa
kelmer
X 0 X

Da http://www.linuxtrent.it/documentazione/domande-intelligenti:

Scrivete chiaramente, correttamente e senza errori

L'esperienza suggerisce che chi scrive senza cura o sciattamente è anche trascurato e sciatto nel pensare e nello scrivere codice (o almeno lo è molto di frequente, potete scommetterci). E rispondere alle domande di persone sciatte e trascurate non è gratificante; l'hacker preferisce dedicare il proprio tempo ad altri.

Ne consegue che esprimersi chiaramente e con precisione è importante; se voi non volete spendere un po' di tempo per rifinire il messaggio, non potete pretendere che altri spendano tempo per rispondere. Sacrificate qualche minuto per controllare il testo; non importa che sia eccessivamente formale: in effetti la cultura degli hacker apprezza un linguaggio informale e popolaresco, purché spiritoso ed usato con precisione e senza strafare. Ma deve essere preciso e puntuale: questo vuol dire che state pensando e che siete vispi.

Controllate ortografia, punteggiatura e maiuscole. Non confondete fischi con fiaschi. Non scrivete mai IN TUTTE MAIUSCOLE: questo viene percepito come urlare e considerato maleducato. (Scrivere in tutte minuscole è un poco meno fastidioso, ma, comunque, difficile da leggere, e per questo ancora considerato maleducazione).

Riassumendo, se scriverete come un babbuino illetterato verrete probabilmente ignorati. Se scriverete in gergo (abbreviazioni spinte, k al posto del ch e così via) vi farete ridere dietro (almeno in certi ambienti) e, piuttosto che silenzio totale, riceverete sarcasmo e mal celato disprezzo.

Se la domanda è in una lingua che non è la vostra, avete a disposizione un poco di tolleranza in più; ma per il linguaggio, non per la trascuratezza (in genere gli hacker sanno cogliere la differenza). A meno che non sappiate con precisione qual è la lingua usata dai vostri corrispondenti, servitevi dell'inglese; la gente impegnata non perde tempo a decifrare domande che non capisce bene e l'inglese è la lingua franca di Internet. Scrivendo in inglese renderete minima la possibilità che tutti scartino a pié pari la vostra domanda senza leggerla.

Dunque puoi rivedere la scrittura del tuo messaggio?

Grazie

risposto 6 anni fa
Mario Santagiuliana
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda