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.042
149
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
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 26
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
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
Alex_70 Query group actor e film PHP 26
TpD Incolonnare risultati query (mysql_result deprecato...) PHP 3
Tommy03 Query tra 3 tabelle MySQL 2
P Query di ricerca profonda MySQL 0
T Query per ricerca ritardo evento MS Access 7
max1974 2 query not work MySQL 3
M Ottimizzazione Query PHP 8
strambotto Query di aggiornamento MS Access 0
I Aiuto query MySQL 8
J [PHP] Visualizzare risultato query stessa pagina PHP 3
S [PHP] non prende la query PHP 0
D [PHP] Query che aggiorna tabella PHP 4
A [PHP] Problema query insert [RISOLTO] PHP 14
M [PHP] Ottimizzazione query PHP 13
S [PHP] la query fallisce PHP 2
Alex_70 actor film query per php PHP 1
Tommy03 [PHP] Media valori presi da una query PHP 3
Punix [PHP] query non valida PHP 1

Discussioni simili