- Home
- Categorie
- Coding e Sistemistica
- Coding
- operazioni tra campi
-
operazioni tra campi
Ciao a tutti.
Dopo aver creato il mio bel form di invio dati e aver popolato correttamente il db, ora devo creare un'altra pagina web dove visualizzo i dati inseriti e **in più alcuni dati calcolati dai valori inseriti nel form.**Quest'ultima parte mi crea qualche problemino...
Riesco a visualizzare un primo calcolo che ho fatto sulla pagina in php ma non mi "salva" il risultato nello specifico campo del db che gli ho assegnato.
Il calcolo lo faccio tramite questa query:
SELECT (`campoA` / `campoB`) AS `campoC`FROM tabella ```In sostanza prendo il contenuto del campoA lo divido per il contenuto del campoB e dovrei visualizzarlo nel campoC ma mi restituisce 0. Però sulla pagina php vedo correttamente la divisione.
mysql_select_db($database, $dati);$query_calcolo_20 = "SELECT (
campoA
/campoB
)
AScampoC
FROM tabella;";
$calcolo_20 = mysql_query($query_calcolo_20, $dati) or die(mysql_error());
$row_calcolo_20 = mysql_fetch_assoc($calcolo_20);
$totalRows_calcolo_20 = mysql_num_rows($calcolo_20);Dove sbaglio ? Cimberio
-
Ciao cimberio,
In quel modo non salvi il valore infatti, ma semplicemente aggiungi 1 "campo virtuale".
Per salvarlo dovresti fare un altra query di update.
-
Ciao Thedarkita,
grazie per la risposta celere.Come dovrei impostarla una query di update che vada a riempire proprio quel campo con il valore calcolato
Ad esempio:
UPDATE tabella SET campoC=campoA / CampoB
oppure
UPDATE tabella SET calcolo = campoC
dove calcolo è il nome del campo assegnato.
Se i miei esempi fossero giusti :():, come dovrei scrivere all'interno della mia pagina php ?
Cimberio
-
Ma la tabella ha un campo chiamato campoC?
Se si la prima soluzione dovrebbe funzionare.
-
Si, ho il campoC definito nella tabella. Come dicevo, utilizzo Dreamweaver e purtroppo i suoi automatismi fanno perdere un pò il controllo di quello che si sta facendo :bho:
Infatti non saprei dove inserire questa stringa. Se utilizzo i recordset che utilizzo per le SELECT mi da errore. Devo scrivere il codice direttamente all'interno della pagina ma non so come.
La pagina ha il seguente codice:
mysql_select_db($database_dati, $dati); $query_calcolo_20 = "SELECT (`campoA` / `campoB`) AS `campoC`FROM tabella;"; $calcolo_20 = mysql_query($query_calcolo_20, $dati) or die(mysql_error()); $row_calcolo_20 = mysql_fetch_assoc($calcolo_20); $totalRows_calcolo_20 = mysql_num_rows($calcolo_20);
e lo visualizzo in una tabellina:
<td><?php echo $row_campoC['campoC']; ?></td>
Cimberio
-
In php si programma con un editor codice, lavorando come fai tu ti usciranno 3000 problemi.
Se vuoi imparare a programmare in php, dovrai abituarti a utilizzare la visualizzazione codice di dreamweaver.
-
Utilizzo anche la visualizzazione codice che trovo spesso più veloce del resto ma ciò non risolve il mio dubbio... ovviamente dovuto alla mia scarsa conoscenza di php. :():
Un suggerimento?
-
Non ho idea di cosa siano questi recordset, quel codice devi emtterlo prima che venga utilizzato, puoi quindi benissimo metterlo all'inizio della pagina.