Buonasera a tutti,
ho un problema, spero stupido, ma non riesco a cavarne il ragno dal buco...
Io eseguo questo codice per popolare due database:
Non capisco perchè la prima query, quella fuori dal ciclo, viene inserita due volte nel DB... Mentre l'altra nel ciclo funziona perfettamente...
Dove sbaglio??
ho un problema, spero stupido, ma non riesco a cavarne il ragno dal buco...
Io eseguo questo codice per popolare due database:
PHP:
<?php
session_start();
include('connect.php');
if(isset($_POST['creapdf'])){
$code=$_POST['codice_int'];
$descrizione = $_POST['descrizione'];
$quantita=$_POST['qnt'];
$fornitore=$_POST['fornitore'];
$codice=$_POST['codice'];
$um=$_POST['UM'];
$reparto=$_POST['reparto'];
$prezzo = $_POST['prezzo'];
$scontoperc=$_POST['scontoperc'];
$scontoval=$_POST['scontoval'];
$prezzosconto=$_POST['prezzosconto'];
$causale=$_POST['causale'];
$colli=$_POST['colli'];
$porto=$_POST['porto'];
$note=$_POST['note'];
$vettore=$_POST['vettore'];
$idubi=$_POST['sedi'];
$_SESSION['vettore']=$vettore;
$_SESSION['causale']=$causale;
$_SESSION['colli']=$colli;
$_SESSION['porto']=$porto;
$_SESSION['note']=$note;
$dbprodotti=count($codice);
$message = "";
$border = "0";
$query = mysql_query("SELECT * FROM ddt ");
$rows = mysql_fetch_array($query);
$_SESSION['numero']=$rows['numero_doc'];
//$_SESSION['anno']=$rows['anno'];
$numero=$_SESSION['numero']+1;
$anno=2013;
$num_trans=mysql_query("SELECT transazione FROM Transazioni ORDER BY transazione LIMIT 1");
$max=mysql_fetch_array($num_trans);
$transazione=(int)$max['transazione']+1;
echo 'La transazione è la numero:' .$transazione.'</br>';
echo 'Il numero del documento è:' .$numero.'</br>';
echo 'L operatore è:' .$operatore.'</br>';
echo 'La causale è:' .$causale.'</br>';
echo 'I colli sono:' .$colli.'</br>';
echo 'Il porto è:' .$porto.'</br>';
echo 'Il vettore è:' .$vettore.'</br>';
echo 'Le note sono:' .$note.'</br>';
$insert_ddt = "INSERT INTO `ddt`
SET id = NULL,
numero_doc = '$numero',
anno = '2013',
data = now(),
operatore = '$operatore',
destinatario = '$destinatario',
causale = '$causale',
porto = '$porto',
colli = '$colli',
vettore = '$vettore',
note = '$note'
";
$result = mysql_query($insert_ddt);
if (@mysql_query($insert_ddt)) {
echo ' Inserimento OK</br>';
} else {
echo ("<div align=center> <b>Errore di inserimento DDT: ". mysql_error()
."</b></div>");
}
$dbprodotti=count($codice);
echo 'I prodotti sono:' .$dbprodotti.'</br>';
for ($k=0;$k<$dbprodotti;$k++){
$query_trans="INSERT INTO Transazioni(
data,
barcode,
codice,
descrizione,
quantita,
reparto,
fornitore,
operatore,
prezzo,
sconto,
causale,
transazione)
VALUES(
now(),
'$codice[$k]',
'$code[$k]',
'$descrizione[$k]',
'$quantita[$k]',
'$reparto[$k]',
'$fornitore[$k]',
'$operatore[$k]',
'0',
'0',
'$causale',
'$transazione'
)";
echo 'Il barcode e:' .$codice[$k].'</br>';
echo 'Il codice e:' .$code[$k].'</br>';
echo 'Il descrizione e:' .$descrizione[$k].'</br>';
echo 'Il quantita e:' .$quantita[$k].'</br>';
echo 'Il reparto e:' .$reparto[$k].'</br>';
echo 'Il fornitore e:' .$fornitore[$k].'</br>';
echo 'Il transazione e:' .$transazione.'</br>';
}
$risultati = mysql_query($query_trans);
if (@mysql_query($query_trans)) {
echo ("<div align=center <b> Transazione inserita con successo.</b></div>");
} else {
echo ("<div align=center> <b>Errore di inserimento Transazione: ". mysql_error()
."</b></div>");
}
}
?>
Non capisco perchè la prima query, quella fuori dal ciclo, viene inserita due volte nel DB... Mentre l'altra nel ciclo funziona perfettamente...
Dove sbaglio??