calcoli su valori di tabelle diverse

akab

Nuovo Utente
23 Lug 2015
9
0
0
Ciao a tutti, sono agli inzi con php e sto cercando di fare un piccolo programma che mi aiuti nella mia attività, ma non riesco a venire fuori da una cosa che all'inizio mi sembrava abbastanza semplice ma che evidentemente per me non lo è ... :crying:

Ho due tabelle:

ARTICOLI:
articolo
qt_articolo
reso
(contenente soltanto 3 articoli: “A” id1 “B” id2 “C”id3)
CLIENTI:
dati anagrafici
fornitura A
fornitura B
fornitura C

Quando, in una certa data ho un appuntamento con un cliente, immetto nei form corrispondenti le quantità delle forniture relative agli articoli di cui ha bisogno (es: art A = 5, art B =15, art C= 7) .
A questo punto, tramite una query di tipo INSERT questi valori vengono memorizzati nella tabella ‘clienti’ alla data dell’appuntamento.

La domanda è: Come posso fare in modo che, oltre all’inserimento nella tabella ‘clienti’ i dati relativi alle forniture degli articoli A,B,C vadano a sottrarsi nei relativi campi della tabella ‘articoli’ scalando così le qt_articolo ?

Ho fatto un'infinità di tentativi, ma niente

qualcuno puo' aiutarmi ? grazie 1000...
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
così a naso, immagino che tu abbia un form con cui tu inserisca le forniture del cliente e che quindi tu abbia la quantità e l'id dell'articolo da inserire nella fornitura
giusto?
quindi in qualche punto tu abbia (ti schematizzo)
PHP:
<?php
$id_clente=$_POST['clente'];
$id_articolo_A=$_POST['articolo_a'];
$quantita_A=$_POST['quantita_a'];
//analogo per B e C
//quindi fai l'insert in clienti
//e uppi la tabella aricoli
$query ="UPDATE articoli SET qt_articolo=qt_articolo-$quantita_A WHERE articolo=$id_articolo_A";
//ecc...
?>
certo inoltre dovresti fare gli opportuni controlli, es che tu abbia l'articolo A (quantità > 0) e che quanto dai al cliente sia minore uguale alla quantità che hai in tabella articoli
comunque per capirsi meglio posta un po' di codice che stai facendo
 

akab

Nuovo Utente
23 Lug 2015
9
0
0
ciao
così a naso, immagino che tu abbia un form con cui tu inserisca le forniture del cliente e che quindi tu abbia la quantità e l'id dell'articolo da inserire nella fornitura
giusto?
quindi in qualche punto tu abbia (ti schematizzo)
PHP:
<?php
$id_clente=$_POST['clente'];
$id_articolo_A=$_POST['articolo_a'];
$quantita_A=$_POST['quantita_a'];
//analogo per B e C
//quindi fai l'insert in clienti
//e uppi la tabella aricoli
$query ="UPDATE articoli SET qt_articolo=qt_articolo-$quantita_A WHERE articolo=$id_articolo_A";
//ecc...
?>
certo inoltre dovresti fare gli opportuni controlli, es che tu abbia l'articolo A (quantità > 0) e che quanto dai al cliente sia minore uguale alla quantità che hai in tabella articoli
comunque per capirsi meglio posta un po' di codice che stai facendo

Ciao, ti posto un po di codice
ma riguardandolo adesso ho notato anche che dopo gli ultimi tentativi di ieri notte devo aver combinato qualche casino e adesso non mi passa più neanche i valori di "articoli"

non so più che fare ....
cmq grazie tante per la disponibilità :)

<?php


if (isset($_POST['submit']) && $_POST['submit']=="invia")
{
// RECUPERA DATI DAL FORM
$giorno = ($_POST['giorno']);
$mese = ($_POST['mese']);
$anno = ($_POST['mese']);;
// CREO DATA NEL FORMATO ANNO/MESE/GIORNO
$data= $anno."-".$mese."-".$giorno;
// RECUPERA DATI DAL FORM
$date = ($_POST['date']);
$azienda = addslashes($_POST['azienda']);
$titolo = addslashes($_POST['titolo']);
//$data = ($_POST['data']);
$provincia = addslashes($_POST['provincia']);
$comune = addslashes($_POST['comune']);
$tel = addslashes($_POST['tel']);
$tel2 = addslashes($_POST['tel2']);
$forn_bracc = addslashes($_POST['forn_bracc']);
$forn_coll = addslashes($_POST['forn_coll']);
$forn_orecc = addslashes($_POST['forn_orecc']);
$articolo = addslashes($_POST['articolo']);
$qt_articolo = addslashes($_POST['qt_articolo']);
$difettosi = addslashes($_POST['difettosi']);

$testo = addslashes($_POST['testo']);
$str_data = strtotime($_POST['data']);






include 'config.php';

$sql = "INSERT INTO appuntamenti (date, azienda, titolo, provincia, comune, tel, tel2, testo, forn_bracc, forn_coll, forn_orecc, articolo, qt_articolo, str_data ) VALUES ('$date', '$azienda', '$titolo', '$provincia', '$comune', '$tel', '$tel2', '$testo', '$forn_bracc', '$forn_coll', '$forn_orecc', '$articolo', '$qt_articolo', '$str_data')";
if($result = mysql_query($sql) or die (mysql_error()))
{
echo "Inserimento avvenuto con successo.<br>
Vai al <a href=\"index.php\">Calendario</a>";
}
}else{


?>

<?

include 'config.php';

$articolo = addslashes($_POST['articolo']);
$qt_articolo = addslashes($_POST['qt_articolo']);

//query mysql
$sql = "SELECT * FROM articoli WHERE id = 1"
if($result = mysql_query($sql) or die (mysql_error()))

<table width="439" border="2" align="center" bordercolor="#000000">

<tbody>
<tr>
<td height="31" style="text-align: center">&nbsp;</td>
<td style="text-align: center">&nbsp;</td>
<td width="79" style="text-align: center">&nbsp;</td>
</tr>
<tr>
<td width="110" style="text-align: center"><? echo $record['articolo'] ?></td>
<td style="text-align: center"><? echo $record['qt_articolo'] ?></td>
<td style="text-align: center"><div align="center" class="Stile24"><? echo $record['difettosi'] ?></div></td>
<tr>
<td style="text-align: center">&nbsp;</td>
<td style="text-align: center">&nbsp;</td>
<td style="text-align: center">&nbsp;</td>
</tr>
</tbody>


<? } ?>


<?php

include 'config.php';

// RECUPERA DATI DAL FORM
$date = ($_POST['date']);
$titolo = addslashes($_POST['titolo']);
$forn_bracc = addslashes($_POST['forn_bracc']);
//$forn_coll = addslashes($_POST['forn_coll']);
//$forn_orecc = addslashes($_POST['forn_orecc']);
$articolo = addslashes($_POST['articolo']);
$qt_articolo = addslashes($_POST['qt_articolo']);
// $difettosi = addslashes($_POST['difettosi']);



QUI HO APPENA MESSO LA QUERY MODIFICATA CHE MI HAI SUGGERITO

$query ="UPDATE articoli SET qt_articolo=qt_articolo-$forn_bracc WHERE articolo=$id 1";
//ecc...
?>

</p>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
facciamo un passo alla volta
PHP:
<?php
//***DA QUI
if (isset($_POST['submit']) && $_POST['submit']=="invia"){
	// RECUPERA DATI DAL FORM
	$giorno = $_POST['giorno'];
	$mese = $_POST['mese'];
	$anno = $_POST['mese'];//qui mi sembra che tu debba modificare in $anno = $_POST['anno'];
	// CREO DATA NEL FORMATO ANNO/MESE/GIORNO
	$data= $anno."-".$mese."-".$giorno;//è cos' es.? 2015-09-02 ?
	// RECUPERA DATI DAL FORM
	//ecc....
	$difettosi = addslashes($_POST['difettosi']);
	$testo = addslashes($_POST['testo']);
	$str_data = strtotime($_POST['data']);// a che ti serve? non hai già inserito la data?
	include 'config.php';//è meglio usare require_once "config-php";
	$sql = "INSERT INTO appuntamenti (date, azienda, titolo, provincia, comune, tel, tel2, testo, forn_bracc, forn_coll, forn_orecc, articolo, qt_articolo, str_data ) VALUES ('$date', '$azienda', '$titolo', '$provincia', '$comune', '$tel', '$tel2', '$testo', '$forn_bracc', '$forn_coll', '$forn_orecc', '$articolo', '$qt_articolo', '$str_data')";
	if($result = mysql_query($sql)){//forse meglio così
		echo "Inserimento avvenuto con successo.<br>Vai al <a href=\"index.php\">Calendario</a>";
	}else{
		die (mysql_error();//anche se sarebbe meglio un messaggio con poi ritorno automatico
	}
//***A QUI
}else{
//.....
?>
funziona?
anche se una domanda: ma quanti campi data usi? perchè date e poi anche str_data? e anche $date = ($_POST['date'])?
poi non so come inserisci la data (menù a tendina?) forse ti conviene verificarla prima con
bool checkdate ( $mese , $giorno , $anno ) potresti inserire per sbaglio 2015-02-31, il 31 di febbraio non esiste
ultime per ora cose prima di proseguire:
quando scrivi del codice racchiudilo tra gli appositi bccode (seconda riga formattazione del post ultime tre iconcine nell'ordine CODE, HTML, PHP) diventa più leggibile e, se necessario, separalo nella varie pagine
dimenticavo, se non è un errore di copy/paste, non usare gli short tag <? ma sempre <?php
 

akab

Nuovo Utente
23 Lug 2015
9
0
0
str_data mi serve perchè mi richiama la data del prossimo appuntamento (il programma si apre con un calendario i cui giorni sottolineati sono quelli in cui ci sono i prossimi appuntamenti [str_data] e cliccandoci su si apre la scheda dell'appuntamento di cui ti ho postato un po di righe) e la scrivo col formato[gg-mm-aaaa] mentre la data odierna della visita al cliente (date) con un menu a tendina. Il codice che mi hai postanto (l'update) non funge :) ma ho passato diverse notti a fare qualcosa del genere ma non funziona ... però prendilo col beneficio dell'inventario perche come ti dicevo nell'ultima notte devo aver cancellato qualcosa ed ora sulla pagina non riceve più i valori della TAB 'articoli' quindi penso sia per quello che non funge neanche l'update. cerco di rimetterla a posto e ti faccio sapere. Grazie per gli altri consigli. a presto
 
Discussioni simili
Autore Titolo Forum Risposte Data
A calcoli su valori di tabelle diverse in db mysql PHP 4
C Calcoli matematici in php PHP 5
G eseguire calcoli matematici su risultati 2 tabelle mysql PHP 4
B Fare calcoli con php da tabella mysql PHP 2
A [PHP] Calcoli ore e minuti PHP 7
M [PHP] Calcoli con ore formato 00:00:00 PHP 7
S funzioni per calcoli sulle date PHP 4
M Calcoli fra orari (in formato ore:minuti) PHP 2
M verificare se il valore inserito nel campo è un numero ed effettuare dei calcoli Javascript 2
max_400 Unire 2 query - calcoli matematici: somma, moltiplicazione, percentuale PHP 7
Y Calcoli in javascript Javascript 0
S calcoli HTML e CSS 3
Z funzione calcoli HTML e CSS 6
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
G Invio di più valori con la stessa checkbox PHP 4
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
C prendere dei valori da Plugin e inserirli nel database joomla Joomla 0
F Stampare valori di un database PHP 14
T Recupero valori tramite $_GET PHP 4
otto9due Inserire o aggiornare tabella my sql controllando una coppia di valori PHP 7
M Problemi con la stampa dei valori in php PHP 1
M Passaggio Valori checbox in textarea Javascript 1
D passare valori da database sql a php PHP 1
O Recupero valori da listato Javascript 0
R Raggruppare valori array PHP 5
R Estrarre valori duplicati più volte PHP 0
T recupero valori select multipla da android Javascript 3
L estrarre valori max tra più tabelle MySQL 2
MarcoGrazia Valori di ritorno json via ajax non visti. jQuery 1
N VENDITA CORSO DROPSHIPPING LUCA VALORI Altri Annunci 0
A Ottenimento valori presenze istantanee MySQL 8
S Come filtrare valori di un array PHP 4
L Estrazione valori max su più campi MySQL 4
G Controllare valori in 2 tabelle PHP 5
X [Select] Valori chiave non presenti in un'altra tabella MySQL 2
G MariaDB non restituisce dei valori PHP 7
M Estrarre valori MAX da un db con una left join MySQL 8
S Istruzione sql valori "simili" PHP 7
C [PHP] Estrarre da una classe i valori che mi interessano PHP 5
S [PHP] Confrontare due array con valori quasi uguali PHP 2
D [PHP] Tabella: modificare direttamente i valori PHP 6
MarcoGrazia [PHP] Unioni di due array con somma di valori PHP 6
B inserire valori da una tabella a un altra mysql PHP 34
M [PHP] Recuperare coppia con valori i valori MAX e coppia con valori MIN PHP 26
Tommy03 [PHP] Media valori presi da una query PHP 3
M Filtrare risultati con valori checkbox passati con jquery jQuery 2
psicomia Gestione funzione in javascript in tabella richiamare"textarea" valori preimpostati in "select" Javascript 2
G [ASP] Ciclare i valori di 2 array Classic ASP 2
elpirata [RISOLTO][Mysql] Problema insert valori apostrofati MySQL 1
R php Somma valori in file csv PHP 2

Discussioni simili