Salve a tutti e auguri passati.
Ho un problema.
Riporto di seguito il codice di interesse:
insert_campagna.php
L'inserimento dei sensori tramite checkbox avviene perfettamente però il database si comporta in maniera strana e non ho trovato nessuna soluzione per questo.codice:<?php session_start(); // inizio sessione utente loggato require('connessionedb.php'); if(isset($_POST['submit'])) { $luogo=$_POST['luogo']; $descrizione=$_POST['descrizione']; $data=$_POST['data']; $query_campagna = mysql_query("INSERT INTO campagna_di_elaborazione SET data='$data', luogo='$luogo', descrizione='$descrizione'", $db); $result = mysql_query("SELECT * FROM campagna_di_elaborazione", $db); while ($record_campagna=mysql_fetch_array($result)) { $sensori=$_POST['sensori']; foreach ($sensori as $value){ $insert_sensori = mysql_query("INSERT INTO operazione (id_sensore,id_campagna) VALUES ('$value','$record_campagna[id]')", $db); } } ... <form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" onsubmit="return (ver() && ControllaData() && checkscript() )"> ... <td>Sensori utilizzati</td> <td> <?php $result = mysql_query ("SELECT * FROM sensore",$db); ?> <?php while ($records = mysql_fetch_array($result)) { ?> <input name="sensori[]" type="checkbox" id="sensori[]" value="<?php echo $records['id']; ?>" /> <?php echo $records['marca']; ?> <?php } ?> </td>
Ecco ciò che scrive nella tabella "operazioni" dopo l'inserimento di due campagne di elaborazione:
id_sensore id_campagna
1 [->] 1 [->]
2 [->] 1 [->]
3 [->] 1 [->]
4 [->] 1 [->]
5 [->] 1 [->]
1 [->] 1 [->]
2 [->] 1 [->]
3 [->] 1 [->]
1 [->] 2 [->]
2 [->] 2 [->]
3 [->] 2 [->]
Cioè nella prima campagna vengono utilizzati 5 sensori mentre nella seconda campagna vengono utilizzati solo 3 sensori.
Quindi quando vado ad inserire la seconda campagna e andrò a scrivere nella tabella "operazioni", il database mi riporta l'id della prima campagna (cosa che non voglio!).
Il risultato finale dovrebbe essere questo:
id_sensore id_campagna
1 [->] 1 [->]
2 [->] 1 [->]
3 [->] 1 [->]
4 [->] 1 [->]
5 [->] 1 [->]
1 [->] 2 [->]
2 [->] 2 [->]
3 [->] 2 [->]
Potete darmi una mano?
Grazie!

Rispondi quotando
