UPDATE dopo una SELECT

Berto_Lino

Nuovo Utente
5 Set 2013
3
0
0
Salve a tutti,
chiedo scusa ma mi stò perdendo in un bicchiere d'acqua oppure sono completamente fuori strada.
Ho deciso di postare qui il mio problema in speranza che qualche buon samaritano mi aiuti.

Devo fare un' UPDATE in una tabella prendendo delle variabili da una SELECT

Posto qui il codice per essere un pò più chiaro.
PHP:
$query_calcolo = "SELECT order_id, SUM(tot_riga) AS totalespedizione  FROM appoggio_conteggi  GROUP BY order_id";
 $risultato_calcolo = mysql_query($query_calcolo);  
 
  while( $ris_cal = mysql_fetch_array( $risultato_calcolo )) {       
  $n_ordine_cal[$iii] = $ris_cal['order_id'];
  $tot_spedizione_calc[$iii] = $ris_cal['totalespedizione'];   
  $iii++;   
}

for ($iii=0;$iii<count($n_ordine_cal);$iii++) {
$query_up = "UPDATE spedizione_per_ordine SET valore_spedizione = '$tot_spedizione_calc[$iii]', controllo = 'C' WHERE order_id = '$n_ordine_cal[$iii]'  AND controllo = 'A' "; 
if (mysql_query ($query_up)) 
  echo (""); 
else 
   echo ("Errore nell'inserimento :-(");  
}
Ringrazio anticipatamente per l'aiuto che mi vorrete dare.
 
Ultima modifica di un moderatore:
Ciao, non ti servono due cicli
PHP:
$query_calcolo = "SELECT order_id, SUM(tot_riga) AS totalespedizione FROM appoggio_conteggi GROUP BY order_id";
$risultato_calcolo = mysql_query($query_calcolo);

while ($ris_cal = mysql_fetch_array($risultato_calcolo)) {
    $n_ordine_cal = $ris_cal['order_id'];
    $tot_spedizione_calc = $ris_cal['totalespedizione'];
    $query_up = "UPDATE spedizione_per_ordine SET valore_spedizione = '$tot_spedizione_calc', controllo = 'C' WHERE order_id = '$n_ordine_cal' AND controllo = 'A' ";
    if (mysql_query($query_up))
        echo ("");
    else
        echo ("Errore nell'inserimento :-(");
}
racchiudi il codice che posti tra i tag presenti sull icone a barra di formattazione ( ultime icone seconda linea)
 
Ti ringrazio molto del tuo aiuto, ma purtroppo la query continua a restituirmi sempre errore.
Ho provato ad eseguirla anche singolarmente ma nulla.
I campi order_id di entrambe le tabelle sono INT 11
Il campo "tot_riga" che viene sommato è in DECIMAL 10,2 come quello del campo di destinazione "valore_spedizione"

Altre idee??
 
Risolto

La vecchia fa brutti scherzi!!
La query che hai postato funziona perfettamente!!
L'errore stava nel nome della tabella "spedizione_per_ordine"
Non era "spedizione" ma "spedizioni"

Che questo post possa aiutare chiunque ne avesse bisogno con il suggerimento di stare molto attenti alla digitazione!

Grazie infinite per l'aiuto
 

Discussioni simili