aggiornare 2 campi di una tabella insieme

luigithen

Utente Attivo
31 Mar 2020
33
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:

luigithen

Utente Attivo
31 Mar 2020
33
3
8
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:

marino51

Utente Attivo
28 Feb 2013
2.920
164
63
Lombardia
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

luigithen

Utente Attivo
31 Mar 2020
33
3
8
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.
 

luigithen

Utente Attivo
31 Mar 2020
33
3
8