Scusami, fa caldo e la testa sta cominciando a dare i numeri...
La tua soluzione (grazie!) mi ha fatto fare un passo avanti, ma rimane qualcosa che non funzia / non capisco...
Allora, questo è il codice finale:
Codice PHP:
<?PHP
$comm = $_GET["comm"];
$toprow = "<tr>
<td height=\"30\" colspan=\"3\" align=\"center\" valign=\"middle\">[b]Dal[/b]</td>
<td height=\"30\" colspan=\"3\" align=\"center\" valign=\"middle\">[b]Al[/b]</td>
<td height=\"30\" align=\"center\" valign=\"middle\">[b]N. Cam.[/b]</td>
<td height=\"30\" align=\"center\" valign=\"middle\">[b]Tipo camera[/b]</td>
<td height=\"30\" align=\"center\" valign=\"middle\">[b]Trattamento[/b]</td>
<td height=\"30\" align=\"center\" valign=\"middle\">[b]€/g[/b]</td>
<td height=\"30\" align=\"center\" valign=\"middle\">[b]N. Per.[/b]</td>
<td height=\"30\" align=\"center\" valign=\"middle\">[b]Totale[/b]</td>
<td colspan=\"2\" align=\"center\" valign=\"middle\">[b]Comm. (% / €)[/b]</td>
</tr>";
echo "<table width=\"730\" align=\"center\">" . $toprow;
for ($i = 1; $i <= $_REQUEST['action']; $i++ ) {
$varnum = $i;
echo "<tr>
<td width=\"15\" height=\"25\" align=\"center\" valign=\"middle\"><input type=\"checkbox\" name=\"extcheckin\" id=\"extcheckin\" /></td>
<td width=\"60\" height=\"25\" align=\"left\" valign=\"middle\"><input name=\"checkin" . $varnum . "\" type=\"text\" id=\"checkin" . $varnum . "\" size=\"10\" maxlength=\"10\" /></td>
<td width=\"25\" align=\"left\" valign=\"middle\"><a href=\"javascript:cal2.popup();\"><img src=\"calendar.gif\" alt=\"Seleziona la data\" width=\"16\" height=\"16\" hspace=\"10\" border=\"0\"></a></td>
<td width=\"15\" height=\"25\" align=\"center\" valign=\"middle\"><input type=\"checkbox\" name=\"extcheckout\" id=\"extcheckout\" /></td>
<td width=\"60\" height=\"25\" align=\"left\" valign=\"middle\"><input name=\"checkout" . $varnum . "\" type=\"text\" id=\"checkout" . $varnum . "\" size=\"10\" maxlength=\"10\" /></td>
<td width=\"25\" align=\"left\" valign=\"middle\"><a href=\"javascript:cal3.popup();\"><img src=\"calendar.gif\" alt=\"Seleziona la data\" width=\"16\" height=\"16\" hspace=\"10\" border=\"0\"></a></td>
<td width=\"25\" height=\"25\" align=\"center\" valign=\"middle\"><input name=\"numcam" . $varnum . "\" type=\"text\" id=\"numcam" . $varnum . "\" size=\"3\" maxlength=\"2\" /></td>
<td width=\"110\" height=\"25\" align=\"center\" valign=\"middle\"><select name=\"troom" . $varnum . "\" id=\"troom" . $varnum . "\" class=\"setselect\">
<option value=\"null\" selected=\"selected\">selezionare</option>
<option value=\"doppia\">DOPPIA</option>
<option value=\"matrimoniale\">MATRIM.</option>
<option value=\"tripla\">TRIPLA</option>
<option value=\"quadrupla\">QUADRUPLA</option>
<option value=\"quintupla\">QUINTUPLA</option>
<option value=\"singola\">SINGOLA</option>
<option value=\"dus\">DUS</option>
<option value=\"suite\">SUITE</option>
<option value=\"junior suite\">JR SUITE</option>
<option value=\"culla\">CULLA</option>
<option value=\"appartamento\">APPART.</option>
<option value=\"cenone ferr\">CENONE 15/8;</option>
<option value=\"cenone first\">CENONE 1/1</option>
</select></td>
<td width=\"140\" height=\"25\" align=\"center\" valign=\"middle\"><select name=\"tratt" . $varnum . "\" id=\"tratt" . $varnum . "\" class=\"setselect\">
<option value=\"null\" selected=\"selected\">selezionare</option>
<option value=\"pern\">SOLO PERNOTT.</option>
<option value=\"beb\">CAMERA E COLAZ.</option>
<option value=\"half\">MEZZA PENS.</option>
<option value=\"half_bev\">MEZZA PENS.+BEV.</option>
<option value=\"full\">PENSIONE COMPL.</option>
<option value=\"full_bev\">PENS. COMPL.+BEV.</option>
</select></td>
<td width=\"35\" height=\"25\" align=\"center\" valign=\"middle\"><input name=\"price" . $varnum . "\" type=\"text\" id=\"price" . $varnum . "\" style=\"background-color: #F60;font-weight: bold;color:#fff;\" onchange=\"calculate()\" size=\"3\" maxlength=\"3\" /></td>
<td width=\"25\" height=\"25\" align=\"center\" valign=\"middle\"><input name=\"numpers" . $varnum . "\" type=\"text\" id=\"numpers" . $varnum . "\" style=\"background-color: #F60;font-weight: bold;color:#fff;\" onchange=\"calculate()\" size=\"2\" maxlength=\"2\" /></td>
<td width=\"60\" height=\"25\" align=\"center\" valign=\"middle\"><input name=\"total" . $varnum . "\" type=\"text\" id=\"total" . $varnum . "\" style=\"background-color: #F60;font-weight: bold;color:#fff;\" onchange=\"calculate()\" size=\"8\" maxlength=\"8\" /></td>
<td width=\"85\" align=\"center\" valign=\"middle\"><input name=\"commpercent" . $varnum . "\" type=\"text\" id=\"commpercent" . $varnum . "\" style=\"background-color: #4ac303;font-weight: bold;color:#fff;\" onchange=\"calculate()\" value=\"" . $comm. "\" size=\"2\" maxlength=\"2\" /></td>
<td width=\"60\" align=\"center\" valign=\"middle\"><input name=\"comm" . $varnum . "\" type=\"text\" id=\"comm" . $varnum . "\" style=\"background-color: #4ac303;font-weight: bold;color:#fff;\" size=\"7\" maxlength=\"7\" /></td>
</tr>";
}
echo "</table>";
?>
Come vedi, ho fatto una piccola modifica al tuo codice, qui:
Codice PHP:
for ($i = 1; $i <= $_REQUEST['action']; $i++ )
aggiungendo un = dopo il segno <, altrimenti mi dava una riga in meno...
A questo punto, il codice funziona, nel senso che mi carica le righe richieste, il valore della variabile $comm è presente in ogni riga al giusto posto, e la funzione JS per il calcolo funziona su tutte le righe...
Però... se passo i valori alla pagina di destinazione, sembrano non arrivare!
Mi spiego: giusto per la verifica, mi sono fatto questa pagina di destinazione del form:
Codice PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head><body><?PHP
$tot1 = $_POST["total1"];
$tot2 = $_POST["total2"];
echo $tot1 . " / " . $tot2;
?></body></html>
Ma non fa l'echo di alcun valore (mi stampa solo il segno /).
Considera che:
- quando utilizzavo il mio sistema originario (30 pagine diverse x ciascuna riga), i valori venivano passati
- il fatto che la funzione JS vada bene, mi porta a supporre però che in effetti i campi di input abbiano il nome corretto
- non posso verificare dal vero, perchè se faccio visualizza codice sorgente nel browser mi mostra sempre e soltanto una riga, mai quelle caricate via AJAX, e quindi non posso controllare che la pagina abbia effettivamente i campi con gli id giusti...
Secondo te, da cosa può dipendere?