Salve,
vi riporto qui di seguito il codice che mi genera il seguente problema.
Inserisco nel form i dati che mi occorrono ma nel momento della scrittura in mysql, la variabile quantita non mi inserisce sempre tutti i dati.
Nel dettaglio, se inserisco tutti i dati presenti nel form (barando tutte le checkbox) ho l'inserimento corretto, mentre se inserisco solo dei valori riferiti ad una singola checkbox, per alcuni valori, mi inserisce il valore 0.
Premetto che barrando tutte le chechbox, i valori vengono inseriti correttamente per tutte la variabili.
Spero mi possiate aiutare. Grazie.
</head>
<body>
<?php require_once('Connections/DBSolis.php');
mysql_select_db($database_DBSolis, $DBSolis);
if (isset($_POST['idprelevatore'])):
$idprelevatore = $_POST['idprelevatore'];
$idmagazzino = $_POST['idmagazzino'];
$data_inserimento = $_POST['data_inserimento'];
$articolo = $_POST['articolo'];
$quantita = $_POST['quantita'];
if($idprelevatore == '') {
exit('
Devi impostare un prelevatore. Premi "Indietro" e prova ancora.</p>');
}
if($idmagazzino == '') {
exit('
Devi impostare un magazzino. Premi "Indietro" e prova ancora.</p>');
}
if($data_inserimento == '') {
exit('
Devi inserire data per la fornitura. Premi "Indietro" e prova ancora.</p>');
}
$data_inserimento = date("Y-m-d", strtotime ($data_inserimento));
$sql = "INSERT IGNORE INTO prelievo SET
Codice_prelievo='$idprelievo',
Data='$data_inserimento',
Codice_magazzino='$idmagazzino',
Codice_prelevatore='$idprelevatore'";
if (@mysql_query($sql)) {
echo '
Aggiunto nuovo prelievo</p>';
} else {
exit('
Errore nell\'aggiungere un nuovo prelievo: ' . mysql_error() . '</p>');
}
$idprelievo = mysql_insert_id();
if (isset($_POST['articolo'])) {
$articolo = $_POST['articolo'];
$quantita = $_POST['quantita'];
}
else {
$articolo = array();
}
$numarticolo = 0;
foreach ($articolo as $value){
$sql = "INSERT IGNORE INTO in_prelievo SET
Codice_articolo='$value',
Codice_prelievo='$idprelievo',
Quantita='$quantita[$numarticolo]'";
$ok = @mysql_query($sql);
if ($ok) {
$numarticolo = $numarticolo + 1;
} else {
echo "
Errore nell'inserire un articolo nel prelievo" .
mysql_error() . '</p>';
}
}
$insertGoTo = "inserimento_OK.php";
if (isset($_SERVER['QUERY_STRING']))
{
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
?>
</p>
<div align="center">
<?php
else:
$num = 0;
$prelevatore = @mysql_query("SELECT Codice_prelevatore, Nome_azienda, Riferimento1, Riferimento2
FROM prelevatore
ORDER BY Nome_azienda");
if (!$prelevatore) {
exit ('
Impossibile ottenere la lista dei prelevatori.</p>');
}
$magazzino = @mysql_query("SELECT Codice_magazzino, Nome_magazzino, Citta, Provincia
FROM magazzino
ORDER BY Nome_magazzino");
if (!$magazzino) {
exit ('
Impossibile ottenere la lista dei magazzini.</p>');
}
$articolo = @mysql_query("SELECT Codice_articolo, Produttore, Nome_articolo, Data_inserimento
FROM articolo
ORDER BY Produttore, Nome_articolo, Data_inserimento");
if (!$articolo) {
exit ('
Impossibile ottenere la lista degli articoli.</p>');
}
$arrivo = @mysql_query('SELECT MAX(Codice_arrivo)+1 FROM arrivo');
if (!$arrivo) {
exit ('
Impossibile ottenere la liste degli arrivi.</p>');
}
$elenco_arrivo = mysql_fetch_assoc($arrivo);
?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
<table width="1000" border='1' align="center">
<tr>
<td><p align="center">Crea un nuovo prelievo.</p></td>
</tr>
</table>
<table width="1000" border="1" align="center">
<tr>
<td width="197">Prelevatore :</td>
<td width="587"><select name="idprelevatore" size="1">
<option selected value="">Seleziona prelevatore</option>
<option selected value="">------------------</option>
<?php
while ($elenco_prelevatore = mysql_fetch_array($prelevatore)) {
$idprelevatore = $elenco_prelevatore['Codice_prelevatore'];
$nome_azienda = $elenco_prelevatore['Nome_azienda'];
$riferimento1 = $elenco_prelevatore['Riferimento1'];
$riferimento2 = $elenco_prelevatore['Riferimento2'];
echo "<option value='$idprelevatore'>$nome_azienda -- $riferimento1</option>\n";
}
?></select>
Crea </td>
</tr>
<tr>
<td>Magazzino :</td>
<td><select name="idmagazzino" size="1">
<option selected value="">Seleziona magazzino</option>
<option selected value="">------------------</option>
<?php
while ($elenco_magazzino = mysql_fetch_array($magazzino)) {
$idmagazzino = $elenco_magazzino['Codice_magazzino'];
$nome_magazzino = $elenco_magazzino['Nome_magazzino'];
$citta = $elenco_magazzino['Citta'];
$provincia = $elenco_magazzino['Provincia'];
echo "<option value='$idmagazzino'>$nome_magazzino -- $citta -- $provincia</option>\n";
}
?> </select></td>
</tr>
<tr>
<td>Data prelievo : </td>
<td><input type"text" name="data_inserimento" value = "<?php echo (date("d-m-Y")); ?>" />
(GG-MM-AAAA)</td>
</tr>
</table>
<table align="center" width=1000 border=1>
<tr>
<td width="110"> Produttore </td>
<td width="511"> Nome articolo </td>
<td width="117"> Data inserimento </td>
<td width="144"> Quantità</td>
<td width="84"> Rimanenze</td>
</tr>
<?php
while ($elenco_articolo = mysql_fetch_array($articolo)) {
$idarticolo = $elenco_articolo['Codice_articolo'];
$produttore = $elenco_articolo['Produttore'];
$nome_articolo = $elenco_articolo['Nome_articolo'];
$data_inserimento = $elenco_articolo['Data_inserimento'];
?>
<tr>
<td> <?php echo $produttore?> </td>
<td> <?php echo "<label><input type='checkbox' name='articolo[]' value='$idarticolo' />$nome_articolo</label>
\n"; ?> </td>
<td> <?php echo date("d-m-Y", strtotime ($data_inserimento)) ?> </td>
<td> <input type"text" name="quantita[]" value = "" /> </td>
</tr>
<?php } ?>
</table>
<table width="1000" border="1" align="center">
<tr>
<td><p align="center">
<input name="submit" type="submit" value="Nuovo prelievo" />
</p></td>
</tr>
</table>
<input type="hidden" name="idprelievo" value = "<?php echo $elenco_arrivo['MAX(Codice_prelievo)+1']; ?>"/>
</form>
<?php endif; ?>
</body>
</html>