Query eseguita due volte anche se fuori dal ciclo..

Emix

Utente Attivo
15 Feb 2010
596
0
16
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:

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??
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
se parli di questa
PHP:
<?php
//....
	$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>");
	}
//..
?>
è semplice
con
if (@mysql_query($query_trans)) { rifai la transazione appena fatta alla riga precedente
correggi in
PHP:
<?php
//....
	$risultati = mysql_query($query_trans); 
	if ($risultati) {
    	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>");
	}
//..
?>
o se preferisci
PHP:
<?php
//....
	//$risultati = mysql_query($query_trans); 
	if (mysql_query($query_trans)) {//non usare il silent @ gli errori vanno elmiminati non nascosti
    	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>");
	}
//..
?>
 
Discussioni simili
Autore Titolo Forum Risposte Data
A Query eseguita in locale ma non online Database 0
max75 query su due tabelle e dati doppioni MS Access 2
E Aiuto per query PHP 8
E Query differenza tra tabelle MySQL 5
E Query Alias PHP 4
T Query con date MS Access 1
K Inserimento query Errore 1366 PHP 4
L Query e selezione DB con $_POST PHP 2
M query update e delete PHP 0
A media degli elementi estratti da una query MySQL 0
S Passare query o utm alla pagina successiva Domini 1
O problema con query PHP 4
M Query PHP 8
R query DELETE non cancella i record PHP 1
G Query con i giorni della settimana MySQL 10
E Query annidate o cicli MySQL 1
C bottone query MySQL 0
T Query su due tabelle con totali Database 4
G AVVISO QUERY IN ESECUZIONE PHP 1
M Riportare in tabella HTML dati estratti con query SQL MySQL 0
S Selezionare ultimo record di una sotto query MySQL 27
G Menù a tendina di ricerca con query PHP 1
V Query per una somma PHP 2
F stampare a video i risultati della query PHP 1
L problema con query select PHP 2
D Query sum Database 1
M Visualizzazione a video risultati query php PHP 0
A form PHP prenotazione tramite query PHP 2
R Problema query con ricerca id numerico PHP 2
G Casella combinata in una query MS Access 4
R Aiuto con le query MS Access 2
Y query di DELETE PHP 4
V Query Oracle Oracle 0
L query somma PHP 8
W Query SQL Classic ASP 2
M Problemi con query a più tabelle PHP 3
Alex_70 Conteggio nella query PHP 0
elpirata Query per leggere dati da una tabella mysql e mostrarli a video in base a parametri passati tramite GET PHP 5
A nome file che contiene punto passato come parametro a query PHP 31
F query e form con select multipla PHP 17
M Problema su query JOIN in tre tabelle PHP 0
M Ordinare una query join PHP 2
Alex_70 Query ORDER BY PHP 18
G Problema ------- con Query PHP 1
G Problema con Query PHP 1
Alex_70 foreach explode query PHP 3
O query con date in formato stringa PHP 3
Tommy03 Unione query di 4 tabelle MySQL 1
I Fatal error: Query Failed! SQL: SELECT * INTO OUTFILE PHP 1
Alex_70 Query group actor e film PHP 26

Discussioni simili