Ciao,
sto provando per la prima volta ad utilizzare la funzione hook.
Ho creato due tabelle:
Tabella1
Campi: ID (PK), Probabilità (un valore numerico)
Tabella2
Campi: ID (PK), Riferimento_Step1(Campo lookup che prende in automatico l'ID del record correlato della Tabella1), Descrizione (campo di testo), Probabilità (valore ripreso dal campo Probabilità della Tabella1).
Dato che la Tabella1 è la master view rispetto alla Tabella 2, quando inserisco un nuovo record nella Tabella 2 come subform il campo Riferimento_Step1 si alimenta automaticamente tramite una funzione hook insert before e tutto funziona.
Ora vorrei, però che se aggiorno il campo Probabilità nella Tabella1, in automatico venisse eseguita una query SQL che aggiorni il valore Probabilità nella Tabella2 tutte le volte in cui il campo è correlato.
Per ora ho scritto questo esempio:
$hooks['Tabella1']['update']['after'] = 'dadabik_hook_probabilità _Tabella2_aggiornamento';
function dadabik_hook_probabilità _Tabella2_aggiornamento($id, $Value)
{
global $conn;
$sql = "UPDATE Tabella2 set Probabilità = robabilità WHERE Riferimento_Step1 = :id";
$res_prepare = prepare_db($conn, $sql);
$res_bind = bind_param_db($res_prepare, ':id', $id);
$res_bind = bind_param_db($res_prepare, 'robabilità ', $Value[Probabilità ]);
$res = execute_prepared_db($res_prepare,0);
}
Tuttavia, quando aggiorna il campo Probabilità nella Tabella1, invece che aggiornare i valori correlati nella Tabella2, vedo la pagina del Form vuota (solo il menu generale e il titolo della pagina) e il record risolta "locked".
Sperando di essere riuscito a spiegarmi, qualcuno ha qualche idea su come potrei procedere?
Grazie
Your current DaDaBIK version
You are using DaDaBIK version 10.1-Manarola enterprise, installed on 05-08-2020 (installation code: 154885eb55ac07f958), the latest version of DaDaBIK is 10.1-Manarola released on 03-09-2020
You are runnning the last release of DaDaBIK
In case you want to upgrade to a more powerful edition (from Pro to Enterprise/Platinum, from Enteprise to Platinum) please contact us.
System info
PHP Version: 7.2.8
mysql version: 5.7.23
Web server: Apache/2.2.34 (Unix) mod_wsgi/3.5 Python/2.7.13 PHP/7.2.8 mod_ssl/2.2.34 OpenSSL/1.0.2o DAV/2 mod_fastcgi/mod_fastcgi-SNAP-0910052141 mod_perl/2.0.9 Perl/v5.24.0
Client: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.5 Safari/605.1.15
URL installation: http://localhost:8888/dadabik/
sto provando per la prima volta ad utilizzare la funzione hook.
Ho creato due tabelle:
Tabella1
Campi: ID (PK), Probabilità (un valore numerico)
Tabella2
Campi: ID (PK), Riferimento_Step1(Campo lookup che prende in automatico l'ID del record correlato della Tabella1), Descrizione (campo di testo), Probabilità (valore ripreso dal campo Probabilità della Tabella1).
Dato che la Tabella1 è la master view rispetto alla Tabella 2, quando inserisco un nuovo record nella Tabella 2 come subform il campo Riferimento_Step1 si alimenta automaticamente tramite una funzione hook insert before e tutto funziona.
Ora vorrei, però che se aggiorno il campo Probabilità nella Tabella1, in automatico venisse eseguita una query SQL che aggiorni il valore Probabilità nella Tabella2 tutte le volte in cui il campo è correlato.
Per ora ho scritto questo esempio:
$hooks['Tabella1']['update']['after'] = 'dadabik_hook_probabilità _Tabella2_aggiornamento';
function dadabik_hook_probabilità _Tabella2_aggiornamento($id, $Value)
{
global $conn;
$sql = "UPDATE Tabella2 set Probabilità = robabilità WHERE Riferimento_Step1 = :id";
$res_prepare = prepare_db($conn, $sql);
$res_bind = bind_param_db($res_prepare, ':id', $id);
$res_bind = bind_param_db($res_prepare, 'robabilità ', $Value[Probabilità ]);
$res = execute_prepared_db($res_prepare,0);
}
Tuttavia, quando aggiorna il campo Probabilità nella Tabella1, invece che aggiornare i valori correlati nella Tabella2, vedo la pagina del Form vuota (solo il menu generale e il titolo della pagina) e il record risolta "locked".
Sperando di essere riuscito a spiegarmi, qualcuno ha qualche idea su come potrei procedere?
Grazie
Your current DaDaBIK version
You are using DaDaBIK version 10.1-Manarola enterprise, installed on 05-08-2020 (installation code: 154885eb55ac07f958), the latest version of DaDaBIK is 10.1-Manarola released on 03-09-2020
You are runnning the last release of DaDaBIK
In case you want to upgrade to a more powerful edition (from Pro to Enterprise/Platinum, from Enteprise to Platinum) please contact us.
System info
PHP Version: 7.2.8
mysql version: 5.7.23
Web server: Apache/2.2.34 (Unix) mod_wsgi/3.5 Python/2.7.13 PHP/7.2.8 mod_ssl/2.2.34 OpenSSL/1.0.2o DAV/2 mod_fastcgi/mod_fastcgi-SNAP-0910052141 mod_perl/2.0.9 Perl/v5.24.0
Client: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.5 Safari/605.1.15
URL installation: http://localhost:8888/dadabik/