aiuto su variabile per far decurtare dei valori da un totale

  • Creatore Discussione Creatore Discussione ubix
  • Data di inizio Data di inizio

ubix

Nuovo Utente
1 Apr 2009
20
0
0
Aiuto per creazione gestione magazzino e messa in carico ai tecnici
Ciao a tutti,

avrei bisogno di un vostro aiuto sto cercando di sviluppare per esigenze mie un gestionale ma non riesco a capire come unire una funzione vi spiego ho una pagina che mi carica i prodotti in una tabella (numero seriale - nome - qunatità) poi ho una pagina che mi permette di associare il prodotto caricato ad un tecnico con la quantità che ha il tecnico. il problema è che non riesco a capire come fagli fare lo scarico della quantità che assegno al tecnico dalla quantità totale. Con questa pagina carico i prodotti in una tabella.
codice PHP:

PHP:
<?
include ('config.php');

switch ($Submit){
case Modifica:
$query2 = "update prodotti set codice = '$codice', nomeprod = '$nomeprod', descri = '$descri', prodottomadre = '$prodottomadre', vario = '$vario', fila = '$fila', consumo = '$consumo', riparabile = '$riparabile', posizione = '$posizione', dispo = '$dispo' where id = $id";
mysql_query($query2);
if ($immagine != "" & $immagine != "none"){
    if ($immagine_size < 900000){
list ($nome_file ,$estensione) =  explode(".",$immagine_name);    
    if ($estensione == "gif" or $estensione == "jpg" or  $estensione == "gif"
or  $estensione == "png" or  $estensione == "jpeg"){
//print "l'estenzione è $estensione <br>";
$file_salvato = $id."p".".".$estensione;
copy($immagine,"../prodotti/$file_salvato");
$query3 = "UPDATE prodotti set img = '$file_salvato' where id = $id";
mysql_query($query3);
}else{
print "Il file non è un immagine valida per internet";

}

}else
{
print "il file e troppo grande";
}

}
break;
}
?>
<style type="text/css">
<!--
.testo {
    font-family: Verdana;
    
    color: #000000;
}
body {
    margin-left: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
}
.Stile1 {color: #000000}
-->
</style>
<body  class="testo">
<form action="" method="post" enctype="multipart/form-data" >
  <?
$query = "SELECT * FROM prodotti where id = $id";    
$rispro = mysql_query($query);
$ar = mysql_fetch_array($rispro);
?>
  <table width="800" border="0" align="center" cellpadding="2" cellspacing="0" bordercolor="#FFFFFF" bgcolor="#CCCCCC">
    <tr bgcolor="#80710B">
      <td colspan="4" align="center" bgcolor="#000066"><font color="#FFFFFF" size="4"><strong>Modifica
        Prodotto</strong></font></td>
    </tr>
    <tr>
      <td width="17%" height="24" bgcolor="#FFFFFF"><font face="Verdana, Arial, Helvetica, sans-serif">Codice</font></td>
      <td width="32%" bgcolor="#FFFFFF"> <input name="codice" type="text" id="codice" value="<?=$ar["codice"];?>" size="30"></td>
      <td width="18%" bgcolor="#FFFFFF"><font face="Verdana, Arial, Helvetica, sans-serif">Vario</font></td>
      <td width="33%" bgcolor="#FFFFFF"><textarea name="vario" id="vario"><?=$ar["vario"];?></textarea></td>
    </tr>
    <tr>
      <td bgcolor="#E1E1E1"><font face="Verdana, Arial, Helvetica, sans-serif">Nome prodotto</font></td>
      <td bgcolor="#E1E1E1"><input name="nomeprod" type="text" id="nomeprod" value="<?=$ar["nomeprod"];?>" size="30"></td>
      <td bgcolor="#E1E1E1">Casa Madre</td>
      <td bgcolor="#E1E1E1"><select name="prodottomadre" id="prodottomadre">
        <option><?=$ar["prodottomadre"];?></option>
        <option>--------</option>
        <option>Diebold</option>
        <option>Pracis</option>
        <option>CDC</option>
      </select>
      <label></label></td>
    </tr>
    <tr>
      <td bgcolor="#FFFFFF">Scaffale</td>
      <td bgcolor="#FFFFFF"><label>
        <input name="fila" type="text" id="fila" value="<?=$ar["fila"];?>">
      </label></td>
      <td bgcolor="#FFFFFF">Materiale di</td>
      <td bgcolor="#FFFFFF"><label>
        <select name="consumo" id="consumo">
          <option><?=$ar["consumo"];?></option>
          <option>--------</option>
          <option>Consumo</option>
          <option>Riparazione</option>
        </select>
      </label></td>
    </tr>
    <tr>
      <td bgcolor="#E1E1E1">Ripiano</td>
      <td bgcolor="#E1E1E1"><input name="posizione" type="text" id="posizione" value="<?=$ar["posizione"];?>"></td>
      <td bgcolor="#E1E1E1">Disponibilit&agrave;</td>
      <td bgcolor="#E1E1E1"><label>
        <input name="dispo" type="text" id="dispo" value="<?=$ar["dispo"];?>">
      </label></td>
    </tr>
    <tr align="center">
      <td bgcolor="#FFFFFF"><div align="left"></div></td>
      <td bgcolor="#FFFFFF">&nbsp;</td>
      <td bgcolor="#FFFFFF">&nbsp;</td>
      <td bgcolor="#FFFFFF">&nbsp;</td>
    </tr>
    <tr align="center">
      <td bgcolor="#E1E1E1">&nbsp;</td>
      <td bgcolor="#E1E1E1">&nbsp;</td>
      <td bgcolor="#E1E1E1">&nbsp;</td>
      <td bgcolor="#E1E1E1">&nbsp;</td>
    </tr>
    <tr align="center">
      <td bgcolor="#FFFFFF">Descrizione</td>
      <td colspan="3" bgcolor="#FFFFFF"><label>
        <textarea name="descri" id="descri" cols="100" rows="5"><?=$ar["descri"];?>
        </textarea>
      </label></td>
    </tr>
    <tr align="center">
      <td bgcolor="#E1E1E1"><font face="Verdana, Arial, Helvetica, sans-serif">Immagine</font></td>
      <td bgcolor="#E1E1E1"><input name="immagine" type="file" id="immagine"></td>
      <td colspan="2" bgcolor="#E1E1E1">L'immagine visualizzata 57 X 40 pixel </td>
    </tr>
    <tr align="center">
      <td colspan="4" bgcolor="#FFFFFF">&nbsp;</td>
    </tr>
    <tr align="center">
      <td colspan="4" bgcolor="#E1E1E1"><input type="submit" name="Submit" value="Modifica">
        <input name="id" type="hidden" id="id" value="<?=$ar["id"];?>"></td>
    </tr>
    <tr align="center">
      <td colspan="4" bgcolor="#FFFFFF"><table width="80%" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td align="center"><input name="img1" type="hidden" id="img1" value="<?=$ar["img"];?>">
              <? if ($ar["img"]){?>
              <img src="../prodotti/<?=$ar["img"];?>" border="0">
              <? } ?>          </td>
        </tr>
      </table></td>
    </tr>
  </table>
  <table width="740" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
      <td><span class="Stile1"><font size="2"><a  href="prodotti.php"><font size="3">[Torna
        Indietro]</font></a></font></span></td>
    </tr>
  </table>
</form>

Con questa associo il prodotto al tecnico con la quantità ma non me la scala del totale del prodotto:

codice PHP:
PHP:
<?
include ('config.php');

switch ($Submit){
case Modifica:
$query2 = "update incarico set codice = '$codice', piklist = '$piklist', note = '$note', prodottomadre = '$prodottomadre', tecnico = '$tecnico', dataincarico = '$dataincarico', datasped = '$datasped', unita = '$unita', dove = '$dove' where id = $id";
mysql_query($query2);

//invia scheda prodotto
$from = "[email protected]";
//prepara il messaggio
$to= $indiemailt;
$subject= "Aggiornamento scheda prodotti in carico";
$mailheaders= "From: $from";
$body .= "
Ciao $tecnico eccoti un riassunto del prodotto aggiornato

_______________Scheda________________
Codice $codice
Casa Madre $prodottomadre
Data Incarico $dataincarico
Data Spedizione $datasped

________________Note____________________
$note
";
// ora invia la mail
mail($to, $subject, $body, $mailheaders);
break;
}
?>
<style type="text/css">
<!--
.testo {
    font-family: Verdana;
    
    color: #000000;
}
body {
    margin-left: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
}
.Stile1 {color: #000000}
-->
</style>
<body  class="testo">
<form action="" method="post" enctype="multipart/form-data" >
  <?
$query = "SELECT * FROM incarico where id = $id";    
$rispro = mysql_query($query);
$ar = mysql_fetch_array($rispro);
?>
  <table width="800" border="0" align="center" cellpadding="2" cellspacing="0" bordercolor="#FFFFFF" bgcolor="#CCCCCC">
    <tr bgcolor="#80710B">
      <td colspan="4" align="center" bgcolor="#000066"><font color="#FFFFFF" size="4"><strong>Modifica</strong></font></td>
    </tr>
    <tr>
      <td width="17%" height="24" bgcolor="#FFFFFF"><font face="Verdana, Arial, Helvetica, sans-serif">Codice</font></td>
      <td width="32%" bgcolor="#FFFFFF"> <input name="codice" type="text" id="codice" value="<?=$ar["codice"];?>" size="30"></td>
      <td width="18%" bgcolor="#FFFFFF"><font face="Verdana, Arial, Helvetica, sans-serif">Tecnico</font></td>
      <td width="33%" bgcolor="#FFFFFF"><select name="tecnico" id="tecnico">
        <option><?=$ar["tecnico"];?></option>
        <option>--------</option>
<?
$query1 = "SELECT * FROM accesso";    
$rispro1 = mysql_query($query1);
while($are = mysql_fetch_array($rispro1)){
?>        
        <option><?=$are["username"];?></option>
        <? } ?>   
      </select>
        <?
$query2 = "SELECT * FROM accesso where nome = '$tecnico'";    
$rispro2 = mysql_query($query2);
while($arw = mysql_fetch_array($rispro2)){
?>
      <input name="indiemailt" type="hidden" id="indiemailt" value="<?=$arw["indiemail"];?>">
    <?=$arw["indiemail"];?>
    
    <? } ?>      </td>
    </tr>
    <tr>
      <td bgcolor="#E1E1E1">Nome </td>
      <td bgcolor="#E1E1E1"><?=$ar["nomeprod"];?></td>
      <td bgcolor="#E1E1E1">Casa Madre</td>
      <td bgcolor="#E1E1E1"><select name="prodottomadre" id="prodottomadre">
        <option><?=$ar["prodottomadre"];?></option>
        <option>--------</option>
        <option>Diebold</option>
        <option>Sintesi MI</option>
        <option>Magazzino BS</option>
      </select>
      <label></label></td>
    </tr>
    <tr>
      <td bgcolor="#FFFFFF">Data incarico</td>
      <td bgcolor="#FFFFFF"><label>
      <input name="dataincarico" type="text" id="dataincarico" value="<?=$ar["dataincarico"];?>" size="30">
      </label></td>
      <td bgcolor="#FFFFFF">Data sped.</td>
      <td bgcolor="#FFFFFF"><label>
      <input name="datasped" type="text" id="datasped" value="<?=$ar["datasped"];?>" size="30">
      </label></td>
    </tr>
    <tr>
      <td bgcolor="#E1E1E1">Unita'</td>
      <td bgcolor="#E1E1E1"><label>
        <input name="unita" type="text" id="unita" value="<?=$ar["unita"];?>">
      </label></td>
      <td bgcolor="#E1E1E1">Team</td>
      <td bgcolor="#E1E1E1">
        <?
$query4 = "SELECT * FROM accesso accesso where nome = '$tecnico'";    
$rispro4 = mysql_query($query4);
$ars = mysql_fetch_array($rispro4);
?>
      <input name="team" type="hidden" id="team" value="<?=$ars["team"];?>"></td>
    </tr>
    <tr align="center">
      <td align="left" bgcolor="#FFFFFF"><div align="left"><font face="Verdana, Arial, Helvetica, sans-serif">Piklist n&deg;</font></div></td>
      <td align="center" bgcolor="#FFFFFF"><input name="piklist" type="text" id="piklist" value="<?=$ar["piklist"];?>"></td>
      <td align="left" bgcolor="#FFFFFF">Depositata</td>
      <td align="left" bgcolor="#FFFFFF"><label>
        <select name="dove" id="dove">
        <option><?=$ar["dove"];?></option>
        <option>------------------</option>
          <option>Magazzino Bs</option>
          <option>Magazzino Tecnico</option>
          <option>Magazzino Mi</option>
                </select>
      </label></td>
    </tr>
    <tr align="center">
      <td bgcolor="#E1E1E1">&nbsp;</td>
      <td bgcolor="#E1E1E1">&nbsp;</td>
      <td bgcolor="#E1E1E1">&nbsp;</td>
      <td bgcolor="#E1E1E1">&nbsp;</td>
    </tr>
    <tr align="center">
      <td bgcolor="#FFFFFF"><div align="left">Note:</div></td>
      <td colspan="3" bgcolor="#FFFFFF"><label>
        <textarea name="note" id="note" cols="100" rows="5"><?=$ar["note"];?>
        </textarea>
      </label></td>
    </tr>
    <tr align="center">
      <td colspan="4" bgcolor="#E1E1E1">&nbsp;</td>
    </tr>
    <tr align="center">
      <td colspan="4" bgcolor="#FFFFFF">&nbsp;</td>
    </tr>
    <tr align="center">
      <td colspan="4" bgcolor="#E1E1E1"><input type="submit" name="Submit" value="Modifica">
        <input name="id" type="hidden" id="id" value="<?=$ar["id"];?>"></td>
    </tr>
  </table>
  .
  <table width="740" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
      <td><span class="Stile1"><font size="2"><a  href="incarico.php"><font size="3">[Torna
        Indietro]</font></a></font></span></td>
    </tr>
  </table>
</form>

vi ringrazio non so più dove sbattere la testa grazie mille
 
ciao
scusa una cosa, ma il cocice è molto lungo.
fammi capire
tu hai una tabella con i prodotti
id | nomeprodotto | quantitaamagazzino
1 |pinco | 328
2 |pallo | 125
.....eccc

poi hai una tabella_tecnico (?) in cui hai

id | nomeTecnico | nomeprodotto | quantitaassegnata
1 |giuseppe | pinco | 10
2 |toni | pinco | 81
3 |giuseppe | pallo | 25
........ecc
tu consegni a caio 5 unite di pallo e quindi aggiorni la tabella_tecnico (?)

quindi avrai un insert (o sbaglio?)

INSERT tabella_tecnico (nomTec,nomeProd,quantAss)
VALUES ('$nomeTec', '$nomeProd',$quantAss')

subito dopo l'insert fai

SELECT quantMag FROM tab_prod WHERE nomeProd='$nomeProd'

con il solito mysql_fetch_array o assoc

$quantAmag=$riga['quantitamagazzino']
$residuo=(int)$quantAmag-(int)$quantAss;

e poi l'update

UPDATE tab_prod SET quantitaassegnata='$residuo' WHERE nomeProd='$nomeProd'

o ho capito male?
 
allora io faccio fare l'insert quando assegno al tecnico il prodotto
poi faccio un apdate quando il tecnico aggiorna la sua merce

non riesco a capire come e dove digli di fare la sottrazzione o l'aggiunta dal valore carico nella creazione del prodotto e del valore aggiunto...

non so se mi sono spiegato

per farti capire qui c'è la gestione

http://www.computerecompany.it/magazzino/gestione/ qui creo i prodotti e metto in carico i prodotti

qui c'è il lato utente

http://www.computerecompany.it/magazzino/ qui il tecnico modifica o elimina la quantità di quel prodotto

se vuoi ti facci uno zip delle pagine
 
Ultima modifica:
ciao
immagino che tu abbia due form distinti i per scaricare al tecnico o per caricare a magazzino un dato prodotto

quindi quando scarichi al tecnico fai come ti ho detto prima
quando carichi, se il prodotto è inestiente, fai un insert con tutti i dati, se esiste dovrai invece fare l'aggiornamento, per cui dovrai perforza scegliere quale prodotto aggiornare
quindi fai una selec sul prodotto, estrai la quantita dal db
$aggiunta=(int)$quant_da_form+(int)$quant_da_db;

e poi uppi il prodotto che hai selezionato
 
non mi va ho fatto cosi


switch ($Submit){
case Modifica:
$query2 = "update incarico set unita = '$unita' where id = $id";
mysql_query($query2);

$query8 = "SELECT unita FROM prodotti WHERE nomeprod='$nomeprod'";
$rispro8 = mysql_query($query);
$rigas = mysql_fetch_array($rispro8);
$quantAmag=$rigas['unita']
$residuo=(int)$quantAmag-(int)$quantAss;

$query9 = "UPDATE prodotti SET untia='$residuo' WHERE nomeprod='$nomeprod'";
mysql_query($query9);
 
ciao
mi dici che non funzia?vediamo
nella query2

PHP:
$query2 = "update incarico set unita = '$unita' where id = $id";
inserisci per il tecnico (id?) solo la quantità? non anche il tipo di prodotto?

nella query8

PHP:
$query8 = "SELECT unita FROM prodotti WHERE nomeprod='$nomeprod'";

da dove prelevi il valore $nomeprod'?

il resto mi sembra ok
 
non so se se riuscito a vede i link che ti ho printato per darti un'indea del sistema che voglio realizzare

il prodotto lo inserisco nella gestione

e nella modifica faccio solo modificare il valore
 
ciao
si ho visto il link
nel primo inserisci/modifichi varie cose
1.nome prodotto
2.assegni il prodotto ad un tecnico (quanti?), non lo metti qui?
3. fai la tabella tecnici

nel secondo vedo solo richiesta pass e user e mi da dati errati all'accedi
è qui che gestisci il carico prodotti al magazzino
e lo scarico al tecnico?
 
ciao
ho visto tu hai un form

cod | prod | data | unità
001 | H D | | 12

a cui corrispondono i campi hidden

name= codice e name= unita
è qui che gestisci?

fai il carico o lo scarico a magazzino?

se fai il carico puoi uppare semplicemente
$unita=(int)$_POST['unita'];//per esssere sicuro di intero e no servo poi racchiudere ''

$query="UPDATE tab_prod SET unita=unita+$unità WHERE cod='$_POST['codice']'";

analogo per scarico, con l'accortezza di verivicare che la sottrazione non sia minore di 0

per
 
ok ma come faccio a verificare se è in più di aggiungermi la quantità di differenza e allo stesso modo se è in meno es.?


totale sul magazzino 20

ipostato al tecnico 8

modifica il tecnico 6

differenza 2 qundi me ne deve mettere 22 al totale

se invece sempre totale 20

inpostato al tecnico 8

modifica il tecnico 10

differenza 2 quindo 18 al tatale magazzino
 
ciao
il totale a magazzino lo hai nel db tab_prodotti
quindi devi aggiornare sempre tale tabella
quindi
nel primo caso
impostato al tecnico 8
aggiorni totale di tab_prodotti=> $totale+$altecnico => totale diventa 28
il tecnico modifica 6 unità
fai un if
$modifica > di $totale NON puoi modificare
else
aggiorni sempre tab_prodotti
$totale-$modifica => totale diventa 22
il secondo è analogo

il tutto viene collegato da codice_prodotto

da quello che ho capito
1. la quantità totale e l'impostato al tecnico l'imposti tu, quindi quando operi vai ad uppre la tebella tab_prodotti
2. modifica del tecnico, in questo caso devi uppare due tabelle
sottrarre unità su tab_prodotti e sommare su tab_tecnico

non so se sia il tuo caso, ma es il tecnico rompe una unità, deve aggiornare la sua tabella togliendo diminuendo di una unità, dai la possibilità di inserire quantita negative, in qusto caso sempre con if

if modifica > 0 && modifica < totale_a_magazzino
uppi le due tabelle
elseif modifica <0 && ABS modifica <= totale_in_carico_al_tecnico
uppi solo la tabella del tecnico
else
non si puo uppare

se hai pazienza provo ad impostare un piccolo script (non utilizzando il db, ma simulandolo con array) per farti capire cosa intendo
 
ecco cosa intendevo

PHP:
<?php
//simulo le due tabelle del DB
$magazzino=array("ARDDISK"=>"20", "SCHEDA"=>"10","GATTI"=>"123");
$tecnico=array("ARDDISK"=>"0", "SCHEDA"=>"0","GATTI"=>"0");
/* *******************************************************************************************
ATTENZIONE  questo script non fa esattamente come vorresti, in quanto
tutte le volte che si da il submit i due array ritornano ai valori
iniziali al contrario delle tabella del db la cui quantità viene
aggiornata effettivamente
******************************************************************************************* */
if(isset($_POST['magazzino']) && $_POST['magazzino']=="magazzino"){
	$cod_prod=$_POST['carico'];//leggo il codice del prodotto
	$quanti=(int)$_POST['unita_a_mag'];//quantità forzo ad intero
	/*
	se vuoi mettere anche numeri negativi es hai rotto un pezzo
nel trasporto devi mettere if per verificare che
 l'aggiornamento (negativo) non sia maggiore
della quantità che ahi a magazzino
	*/
	$era=$magazzino[$cod_prod];//SELECT da tab_prodotti la quantità a magazzino WHERE cod=$cod_prod
	$magazzino[$cod_prod]=$era+$quanti;//UPDATE la quantita a magazzino WHERE cod=$cod_prod
	echo "il prodotto $cod_prod era $era aggiornato a $magazzino[$cod_prod] unità<br>";
}

if(isset($_POST['tecnico']) && $_POST['tecnico']=="tecnico"){
	$cod_prod=$_POST['modifica'];//leggo il codice del prodotto
	$quanti=(int)$_POST['unita_a_tec'];//quantità forzo ad intero
	/*
	anche qui gli if di controllo
	*/
	$eraMag=$magazzino[$cod_prod];//SELECT da tab_prodotti la quantità a magazzino WHERE cod=$cod_prod
	$eraTec=$tecnico[$cod_prod];//SELECT da tab_tecnico la quantità in suo possesso WHERE cod=$cod_prod
	$magazzino[$cod_prod]=$eraMag-$quanti;//UPDATE tabella magazzino
	$tecnico[$cod_prod]=$eraTec+$quanti;//UPDATE tabella tecnico
	echo "A magazzino $cod_prod era $eraMag aggiornato a $magazzino[$cod_prod] unità<br>";
	echo "Da tecnico $cod_prod era $eraTec aggiornato a $tecnico[$cod_prod] unità<br>";
	


}
?>
<hr>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="gestore">
GESTIONE MAGAZZINO per aggiornare seleziona codice e inserisci quantità<br>
<select name="carico">
<?php
/* *********************************************************************************
al posto di foreach ci sarà la query SELECT e while ($riga=misql_fetch_array($query)
********************************************************************************* */
foreach($magazzino as $codice => $unita){
  echo "<option value=\"$codice\">$codice</option>";
}
?>
</select> quantità<input name="unita_a_mag" type="text" size="2" maxlength="2"><br>
<input name="magazzino" type="submit" id="magazzino" value="magazzino">
</form>
<hr>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="tecnico">
MODIFICA TECNICO per aggiornare seleziona codice e inserisci quantità<br>
<select name="modifica">
<?php
foreach($magazzino as $codice => $unita){
  echo "<option value=\"$codice\">$codice</option>";
}
?>
</select> quantità<input name="unita_a_tec" type="text" size="2" maxlength="2"><br>
<input name="tecnico" type="submit" id="tecnico" value="tecnico">
</form>
 

Discussioni simili