Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Modificare valori di una tabella e mantenerli...

    Ciao a tutti,

    spiego il problema visto che il titolo è un pochino ermetico...
    ...praticamente all'avvio del mio script vengono eseguite delle semplici moltiplicazioni tra alcuni dati ed i risultati vengono inseriti all'interno di una tabella che per ogni riga ha un tasto modifica, che appunto consente di modificare i dati per la riga selezionata.

    Il modifica funziona, lo clicco, mi consente di modificare i dati, clicco su salva per salvare i dati modificati e li salva.

    Ora però se vado a modificare un'altra riga, i dati della riga precedentemente modificata tornano ad essere quelli iniziali.

    In pratica
    <td>30</td><td>10</td><td> MODIFICA </td>
    <td>100</td><td>25</td><td> MODIFICA </td>

    modifico la prima riga e ottengo ad esempio:
    <td>15</td><td>2</td><td> MODIFICA </td>
    <td>100</td><td>25</td><td> MODIFICA </td>

    e se adesso vado a modificare la seconda ottengo
    <td>30</td><td>10</td><td> MODIFICA </td>
    e nella seconda riga ci sara la possibilita di inserire io nuovi dati.

    La domanda è...esiste un modo per tener traccia di questi dati??
    Spero in un vostro aiuto perche ho terminato le idee...
    ...grazie in anticipooooo!!!!

    Ciaooo

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Si, si può, ma dirti perché a te non funziona richiede che tu ci faccia leggere il codice del tuo script.

  3. #3
    Grazie per la risposta...
    ...te lo posto subito...però io so perchè il mio non funziona, ogni volta che schiaccio Modifica tengo memorizzato il numero della riga che lo ha lanciato e quindi quando creo nuovamente la tabella so che riga devo rendere editabile.
    Al secondo giro però non conosco solo l'ultimo dato che ho modificato e quindi i dati nella prima riga modificata tornano ad essere quelli di partenza.
    Nella pagina principale devo inserire due valori e i num,eri che riempiono le celle della tabella vengono calcolati in base ai valori inseriti.
    Quando riempio la tabella dopo la modifica guardo appunto se sto scrivendo la riga da modificare, se si inserisco degli input type text altrimenti mi calcolo il valore in base ai due inseriti. Spero la mia spiegazione sia piu o meno chiara!!!

    $query = "SELECT CTI.CodiceContratto, Descrizione, CapacitaOraria FROM
    capacita_trasporto_internazionale CTI JOIN contratti_trasporto_internazionale CT
    ON (CTI.CodiceContratto = CT.CodiceContratto) WHERE InizioContratto<='$data'
    AND FineContratto>='$data'";
    $res = mysql_query($query);
    if($row = mysql_fetch_array($res)){
    echo"<table><thead><th>Contratto</th><th>Controparte</th><th>Capacita Oraria
    [cm<sup>3</sup>]</th><th>Capacita Giornaliera [cm<sup>3</sup>]
    </th></thead>";

    do{
    $cap += $row['CapacitaOraria'];
    $cap_g = $row['CapacitaOraria']*24;
    echo"<tr><td>$row[CodiceContratto]</td><td>$row[Descrizione]
    </td><td>$row[CapacitaOraria]</td><td>$cap_g</td></tr>";
    }while($row=mysql_fetch_array($res));

    $cap_g = $cap * 24;
    echo"<tr><td></td><td></td><td class='index'>$cap</td><td
    class='index'>$cap_g</td></tr></table>


    ";
    }
    echo"<form action='nomineTag.php' method='POST' name='modulo'>
    <font face='verdana' color='#000000' size='2'>Inserisci il valore del PCS
    settimanale:
    </font>
    <input type='text' size='10' id='pcs' name='pcs'/>


    <font face='verdana' color='#000000' size='2'>Inserisci l'acquisto orario sul CEGH
    :
    </font>
    <input type='text' size='10' id='cegh' name='cegh'/>

    <input type='hidden' name='capacita' value='$cap'/>
    <button type='submit' name='nomina' value='nomina'>Nomina</button>



    ";

    if(isset($_POST['nomina']) || isset($_POST['nomina1'])){
    if(isset($_POST['nomina1']))
    $pcs = $_POST['pcs1'];

    else if(isset($_POST['nomina']))
    $pcs = $_POST['pcs'];

    $cegh = $_POST['cegh'];
    $cap_tot = $_POST['capacita'];

    if(isset($_POST['mod']))
    $r = $_POST['mod'];
    else
    $r = $_POST['save'];

    echo"In tabella vengono mostrati i valori massimi nominabili sui singoli contratti.";
    $tot_in = 0;
    $tot_off = 0;
    $riga = 0;
    $warning = NULL;

    $query = "SELECT CTI.CodiceContratto, Descrizione, CapacitaOraria FROM
    capacita_trasporto_internazionale CTI JOIN
    contratti_trasporto_internazionale CT
    ON (CTI.CodiceContratto = CT.CodiceContratto) WHERE
    InizioContratto<='$data' AND FineContratto>='$data'";
    $res = mysql_query($query);
    if($row=mysql_fetch_array($res)){
    echo"<table><thead><th>Contratto</th><th>Nomina CEGH [MWh/h]
    </th><th>Intake [MWh/h]</th><th>CFGA +</th>
    <th>CFGA -</th><th>Offtake [MWh/h]</th><th></th></thead>";
    do{
    $riga++;
    $val_max = round($cegh * $row['CapacitaOraria']/$cap_tot,3);

    $in = round($row['CapacitaOraria']*$pcs/1000,3);
    if($in>$val_max) $in = $val_max;
    $off = $in * (1-0.0021);


    if($riga==$r && isset($_POST['save'])){
    $tot_in += $_POST['in_mod'];
    $tot_off += $_POST['off_mod'];
    }
    else{
    $tot_in += $in;
    $tot_off += $off;
    }

    if($riga==$r && isset($_POST['mod'])){
    echo"<tr>
    <form action='nomineTag.php' method='post'
    name='rigaTab' >
    <td>$row[Descrizione] ($row[CodiceContratto])</td><td>
    <input type='text' size='10' id='cegh_mod'
    name='cegh_mod'></td>
    <td><input type='text' size='10' id='in_mod'
    name='in_mod'></td><td>0</td><td>0</td>
    <td>-</td>
    <td><input type='hidden' name='nomina1'
    value='nomina1'/><input type='hidden' name='pcs1'
    value='$pcs'/>
    <input type='hidden' id='cegh' name='cegh'
    value='$cegh'/><input type='hidden' id='capacita'
    name='capacita' value='$cap_tot'/>
    <input type='hidden' name='cap' id='cap'
    value='$row[CapacitaOraria]'/><button type='submit'
    name='save' value='$riga'>Salva</button>
    </form>
    <form action='nomineTag.php' method='post' name='rigaTab'>
    <input type='hidden' name='pcs1' value='$pcs'/><input type='hidden' id='cegh' name='cegh' value='$cegh'/>
    <input type='hidden' id='capacita' name='capacita' value='$cap_tot'/><button type='submit' name='nomina1' value='nomina1'>Annulla</button>
    </form>

    </tr>";
    $int[$i] = $in;
    $offt[$i] = $off;
    }

    else if($riga==$r && isset($_POST['save'])){
    $in_mod = $_POST["in_mod"];
    //$off_mod = $_POST["in_mod"];
    $off_mod = round(($in_mod * (1-0.0021) * (1-0.0021)* (1-0.0021)* (1-0.0021)* (1-0.0021)),3);
    echo"<tr><form action='nomineTag.php' method='post' name='rigaTab'>
    <td>$row[Descrizione] ($row[CodiceContratto])</td><td>$in_mod</td>
    <td>$in_mod</td><td>0</td><td>0</td><td>$off_mod</td>
    <td><input type='hidden' name='pcs' value='$pcs'/><input type='hidden' name='cegh' value='$cegh'/>
    <input type='hidden' name='capacita' value='$cap_tot'/><button type='submit' name='mod' value='$riga'>Modifica</button></td>
    </form></tr>";
    $int[$i] = $in;
    $offt[$i] = $off;
    }

    else{
    echo"<tr><form action='nomineTag.php' method='post' name='rigaTab'>
    <td>$row[Descrizione] ($row[CodiceContratto])</td><td>$in</td><td>$in</td><td>0</td><td>0</td><td>$off</td>
    <td><input type='hidden' name='nomina1' value='nomina1'/><input type='hidden' name='pcs1' value='$pcs'/>
    <input type='hidden' name='cegh' value='$cegh'/><input type='hidden' name='capacita' value='$cap_tot'/>
    <button type='submit' name='mod' value='$riga'>Modifica</button></td>
    </form></tr>";
    $int[$i] = $in;
    $offt[$i] = $off;
    $contratto[$i] = $row['CodiceContratto'];
    }
    }while($row=mysql_fetch_array($res));
    echo"<tr><td></td><td class='index'>$tot_in</td><td class='index'>$tot_in</td><td class='index'></td>
    <td class='index'></td><td class='index'>$tot_off</td class='index'><td class='index'></td></tr>
    </table>

    ";
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.