Creare Tabella Cronologia

di il
2 risposte

Creare Tabella Cronologia

Buongiorno ragazzi, sto lavorando ad un gestionale di prova, dove, in poche parole, inserisco dei prodotti e, successivamente, cambio la quantità dei prodotti. Fin qui, tutto bene.
Quello che non riesco a fare è quello di memorizzare i vari movimenti della quantità, e mostrarli a schermo così da sapere tutti i movimenti che quel prodotto ha avuto.
Spero di essermi spiegato bene, e vi ringrazio per il vostro tempo.
<?php

$var_posizione_relativa = '../';
include($var_posizione_relativa."libreria.php");

session_start();
session_regenerate_id(true);
?>

<!doctype html>
<html lang="it">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="Gestionale per Pulisan">
    <meta name="generator" content="Hugo 0.82.0">
    <title>Cambia quantità</title>

    <?php include_once($var_posizione_relativa."template/head-styles.php") ?>

  </head>

  <body class="bg-light">

<?php  if (isLogged())	{

  if(isSet($_POST['modifica_quantita']) ){
    $tbl_magazzino=TB_PREFISSO."_magazzino";
    $id_da_cambiare=intval($_POST['id_da_cambiare']);
    $nuova_quantita=intval($_POST['quantita_prodotto']);
    $id_utente=intval($_SESSION['id_utente']);

    $query_select_quantita = "SELECT `quantita_disp_prod`
    FROM $tbl_magazzino
    WHERE `id_prodotto` = $id_da_cambiare";
    $result_select_quantita = mysqli_query($con, $query_select_quantita);
                        //modificare stato prodotto
    if ($result_select_quantita) {
      $quant_prod = mysqli_fetch_array($result_select_quantita);
      $quant_prod_attuale = $quant_prod[0];
      $quant_prod_nuova = $quant_prod_attuale + $nuova_quantita;
      if ($quant_prod_nuova <=0) {
        $quantita_update = "UPDATE $tbl_magazzino SET `quantita_disp_prod`=0, `stato_prodotto` =0  WHERE `id_prodotto` = $id_da_cambiare ";
      }else {
        $quantita_update = "UPDATE $tbl_magazzino SET `quantita_disp_prod`= $quant_prod_nuova, `stato_prodotto` =1 WHERE `id_prodotto` = $id_da_cambiare ";

}

?>

      <!-- Navigation -->
     <?php include_once("template/navigation.php") ?>

    <main class="container-fluid">

  <?php  if(mysqli_query($con, $quantita_update))  { ?>
        <div class="row mt-4">
            <div class="col">
                <h2>Quantità modificata</h2>
            </div>
        </div>
  <?php
    }else{  //chiude l'if query ok  ?>
      <div class="row mt-4">
          <div class="col">
              <h2>Errore nella query</h2>
              <?php if(MODALITA_SVILUPPO){ echo mysqli_error($con); } ?>
          </div>
      </div>
<?php
    }//chiude l'else dell'if query ok
  }//chiude if query select quantita prodotto
}  //cihude l'if is set variabile post
  header( "refresh:1; url=index.php" );
?>
    </main>

<?php
}else{ //chiude l'if is logged
  echo "Non sei collegato";
  header( "refresh:1; url=".$absolute_url."index.php" );
  }
?>
<!-- Footer -->
 <?php include_once($var_posizione_relativa."template/footer-copy.php") ?>

<!-- Script footer -->
 <?php include_once($var_posizione_relativa."template/footer-script.php") ?>

  </body>
</html>

2 Risposte

  • Re: Creare Tabella Cronologia

    Ciao,
    per memorizzare tutti i movimenti di un determinato prodotto ti serve una tabella movimenti dove inserirai tutti i movimenti del prodotto.

    La butto là... codice_prodotto, qta, timestamp. Oppure id_movimenti, codice_prodotto, qta, timestamp.

    Con la prima vai a vedere la data più recente con la seconda l'id max.

    In entrambi i modi avrai tutti i movimenti di un prodotto.

    Ciao
  • Re: Creare Tabella Cronologia

    Ciao per prima cosa ti consigno di cambiare connettore al database usare pdo per motivi di sicurezza poi per realizzare la memorizzazione dei movimenti ti serve per prima una tabella movimenti dove andrai a memorizzare un timestamp uno stato id prodotto e quantit' movimentata e operatore se il programma lo prevede fatto questo ti bastera inserire quando fai update della quantita un insert nella tabella movimenti. Ciao
Devi accedere o registrarti per scrivere nel forum
2 risposte