Grazie per le risposte.
W Thunderbird: si è come dici tu.
Ecco un estratto del codice, tagliato qua e là, perché la pagina è un po' complessa (e credo anche disordinata...
)
Qui sotto in teoria la parte che mi visualizza il form e dal 2° while è dove c'è un po' di casino perché ho provato varie cose, nessuna funzionate (da dove ho scritto //E QUI INIZIA IL CASINO...)
Codice PHP:
while ($a_row = dbms_fetch_array($result)) {
$modif = "admin_offerte.php?id_tes=".$_POST['id_tes']."&Update&id_rig=".$a_row["id_rig"]."&modif_rig";
$ins_tempi = "admin_offerte.php?id_tes=".$_POST['id_tes']."&Update&id_rig=".$a_row["id_rig"]."&modif_rig&ins_tempi";
$nodettagli = "admin_offerte.php?id_tes=".$_POST['id_tes']."&Update";
$data_ins = $a_row["data_ins"];
if ((isset($_GET['modif_rig'])) and ($_GET['id_rig'] == $a_row['id_rig'])) {
echo "<tr title=\"Click per nascondere i dettagli della riga\" onmouseover=\"this.style.cursor='pointer'\" onclick=\"window.location ='".$nodettagli."'\">";
} else {
echo "<tr title=\"Click per modificare e visualizzare i dettagli della riga\" onmouseover=\"this.style.cursor='pointer'\" onclick=\"window.location ='".$modif."'\">";
}
echo "<td>".$data_ins."</td>";
echo "<td>".$a_row["art_cod"]."</td>";
echo "<td>".$a_row["codart"]."</td>";
echo "<td>".$a_row["descri"]."</td>";
echo "<td>".$a_row["annota"]."</td>";
echo "</tr>";
//VISUALIZZAZIONE DETTAGLI RIGA
if ((isset($_GET['modif_rig'])) and ($_GET['id_rig'] == $a_row['id_rig'])) {
echo '<tr>';
echo '<table border="0" cellpadding="1" cellspacing="0" align="left"><tr>';
//intestazioni tabella tempi
echo '<td><b>Risorsa</b></td><td><b>U.M.</b></td><td><b>Tempo</b></td><td><b>Annotazioni</b></td></tr>';
//righe tempi presenti nel database
$righe_tempi = dynQuery ("*", $tempi_table, "id_rig = ".$_GET["id_rig"]);
//creo l'array delle righe
if (!isset($_POST['array_righe']))
$_POST['array_righe'] = array();
echo '<input type="hidden" name="array_righe" value="'.serialize($_POST['array_righe']).'">';
while ($a_row1 = dbms_fetch_array($righe_tempi)){
//E QUI INIZIA IL CASINO....
//creo l'array della riga e lo metto nell'array_righe
//$_POST['array_righe'][$_POST['array_riga']] = array($a_row1['id_tem'], $a_row1['risorsa'], $a_row1['unimis'], $a_row1['quanti'], $a_row1['status'], $a_row1['annota_tempo']);
$_POST['array_riga'] = array($a_row1['id_tem'], $a_row1['risorsa'], $a_row1['unimis'], $a_row1['quanti'], $a_row1['status'], $a_row1['annota_tempo']);
//$_POST['array_riga'] = array();
echo '<input type="hidden" name="array_riga" value="'.$_POST['array_riga'].'">';
echo '<input type="hidden" name="array_riga[0]" value="'.$a_row1['id_tem'].'">';
echo '<tr>';
echo '<td><select class="FacetSelect1" name="array_riga[1]">';
echo '<option selected>'.$a_row1['risorsa'].'</option>\n';
echo '<option value="S4">S4</option>\n';
echo '<option value="PEGA">PEGA</option>\n';
echo '<option value="L1">L1</option>\n';
echo '<option value="VIPROS">VIPROS</option>\n';
echo '</select></td>';
echo '<td><select class="FacetSelect1" name="array_riga[2]">';
echo '<option selected>'.$a_row1['unimis'].'</option>\n';
echo '<option value="SS">SS</option>\n';
echo '<option value="NR">NR</option>\n';
echo '</select></td>';
echo '<td><input class="FacetSelect1" type="text" name="array_riga[3]" value="'.$a_row1['quanti'].'" maxlength="8" size="7"></td>';
echo '<input type="hidden" name="array_riga[4]" value="'.$a_row1['status'].'">';
echo '<td><input class="FacetSelect1" type="text" name="array_riga[5]" value="'.$a_row1['annota_tempo'].'" maxlength="100" size="60"></td>';
echo '<td> <a href="'.$ins_tempi.'&savetempo='.$a_row1['id_tem'].'"><img src="../../images/filesave.png" border="0"></a>';
echo '</td></tr>';
}
}
}
questa invece la funzione che, se clicco sul pulsante salva, mi dovrebbe avviare le operazioni di aggiornamento:
Codice PHP:
//se viene inviata una richiesta di MODIFICA TEMPO
if (isset($_GET['savetempo'])) {
//estraggo i dati dall'array righe
$_POST['array_riga'] = unserialize($_POST['array_riga']);
$id_tem = $_GET['savetempo'];
// aggiorno il db dei tempi
tempiUpdate.....;
}
Spoero di non aver fatto troppo casino...