aggiornare 2 campi di una tabella insieme

luigithen

Utente Attivo
31 Mar 2020
84
3
8
scusate e spero che la mia spiegazione possa farvi capire cosa cerco di fare.

nella tabella stock_available ho due campi "quantity" e "physical_quantity" quello che vorrei fare è questo, quando aggiorno il campo "quantity" la stessa quantità venga inserita anche nel campo "physical_quantity", pensavo di utilizzare il codice seguente

PHP:
UPDATE stock_available set
      quantity = physical_quantity '".$_POST["quantity"]."'
      WHERE id_product_attribute=".$_GET["id"];

questo il select
PHP:
SELECT quantity
    FROM stock_available WHERE id_product_attribute='" . $_GET["id"] . "'");

e poi tramite questo codice

PHP:
<input type="text" name="quantity" id="quantity" class="form-control" value="<?php echo $result[0]["quantity"]; ?>">

aggiungere la quantità ma non mi funziona, cosa stò sbagliando ?

grazie
 
Ultima modifica:
grazie tommy per la risposta, abbi pazienza ma credo di avere ancora qualche problema, perchè non aggiorna

PHP:
  <?php
  require_once ("db.php");
  $db_handle = new DBController();
  if(!empty($_POST["submitC"])) {

      $quant=$_POST['quantity'];
      $sql="UPDATE stock_available SET quantity='$quant',physical_quantity='$quant' WHERE id_product_attribute='" . $_GET["id"] . "'";

      $result = $db_handle->executeQuery($quant);
    if(!$result) {
      header("Location: modifica.php?id=" . $result["id_product"]. "");
    }
  }
  $result = $db_handle->runQuery("SELECT quantity
    FROM stock_available WHERE id_product_attribute='" . $_GET["id"] . "'");
  ?>

questo è il codice che utilizzo per l'input

PHP:
<input type="text" name="quantity" id="quantity" class="form-control" value="<?php echo $result[0]["quantity"]; ?>">
 
Ultima modifica:
non hai messo nussun controllo sull' errore che potrebbero generare le query
comunque dallo script che hai pubblicato, si capisce poco la logica che stai usando,
mi spiego,

stai usando
$quant=$_POST['quantity'];
e
id_product_attribute='" . $_GET["id"]
sei sicuro di recuperare i 2 valori correttamente ?
potresti mette un'echo per verificarli

se la quantità avesse delle cifre decimali,
la quantità deve essere fornita con il punto decimale o con la virgola ? come lavora il tuo database ?

la quantità é un valore numerico, NON deve essere contornata da apici

forse anche "id_product_attribute" é un dato numerico e non deve essere contornato da apici

da ultimo se la quantità che viene inserita sostituisce il valore presente nel db é corretto scrivere
UPDATE stock_available SET quantity=$quant
ma se la quantità inserita aggiorna in + 0 - , allora deve essere scritto
UPDATE stock_available SET quantity=quantity+$quant
ed il segno inserito con la quantità stabilisce la somma o la sottrazione della stessa.

inserisci i controlli sulla esecuzione delle query, che come detto mancano,
e se posti ancora, SPIEGA perché non aggiorna secondo le tue aspettative
e gli eventuali errori segnalati
 
  • Like
Reactions: f107
ciao, grazie a tutti per la risposta al momento ho abbandonato questa opzione per via dei vari errori presenti appena riprendo in mano questo porgo il codice corretto.
 

Discussioni simili