Allora... posto un pò + di codice, così spero di spiegarmi meglio...
Nella pagina madre faccio una query al db, ed attribuisco un valore alla variabile $comm.
Questa variabile diventa il valore di un campo input, presente già al primo caricamento della pagina ,con questo codice:
Codice PHP:
<input name="commpercent1" type="text" id="commpercent1" onchange="calculate()" value="<?PHP echo $comm; ?>" />
Di default, la pagina presenta una sola riga di campi input (vedi immagine allegata 1° post).
Fin qui, tutto ok.
L'utente però può scegliere, tramite una select, che di righe ne servono - ad es. - 3.
La select invia una request AJAX ad un file php che fa un'operazione del genere:
Codice PHP:
<?PHP
....
switch($_REQUEST['action']) {
case '1':
include ("calc1.php");
break;
case '2':
include ("calc1.php");
include ("calc2.php");
break;
case '3':
include ("calc1.php");
include ("calc2.php");
include ("calc3.php");
break;
...
?>
e così via. Ho spiegato nel primo post perchè adotto questa soluzione (includere un file diverso per ciascuna riga, quindi non ne ripeto le ragioni).
Ciascun file calcX.php contiene il codice html per quella riga di tabella, e - come per la pagina di default - attribuisce il valore al campo di input dovuto con la stringa:
Codice PHP:
<?PHP echo $comm; ?>
Il problema è: come faccio a passare, per ciascuna pagina/riga, il valore di questa variabile?
Tieni presente che:
- la query ha bisogno di due variabili come parametri
- queste variabili vengono passate alla pagina madre dalla pagina di provenienza
- posso passare queste variabili via request AJAX alla pagina php che gestisce il caricamento delle pagine/riga, ma non vedo come - da questa - possa passarle alle varie pagine calcX.php da caricare...
Mi vengono in mente adesso due sole soluzioni possibili:
+ spezzare in due ciascun file calcX.php, mettendo nella prima parte (ad es. calcX_a.php) tutto il codice precedente la variabile, e nella seconda parte (ad es. calcX_b.php) tutto il codice seguente, per poi far fare lo switch in questo modo:
Codice PHP:
<?PHP
....
switch($_REQUEST['action']) {
case '1':
include ("calc1_a.php");
echo $comm;
include ("calc1_b.php");
break;
...
?>
che però mi sembra una soluzione allucinante...
+ oppure (
ci sto pensando solo adesso...) costruirmi tutto nella pagina php che gestisce l'AJAX, sperando che poi funzioni il JS di cui dicevo nel primo post...