Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    19

    modifica di un singolo record

    Salve

    Tramite il file riportato qui di seguito, riesco a visualizzare tutti i record presenti nel mio DB.
    Ora, vorrei poter selezionare un singolo record (usando il radio button nella prima colonna della tabella) ed essere ridirezionato ad un'altra pagina PHP (l'ho chiamata "modifica.php") che dovrebbe restituirmi il record da modificare.

    Qualcuno è in grado di aiutarmi?
    Grazie!
    ale


    --------------------------------------------------------------------------
    <html>
    <head>
    <script src="sorttable.js"></script>
    <title>tabella</title>
    <META http-equiv="Content-Type" content="text/html; charset=utf-8">
    </head>
    <body>

    <?php
    $username="root";
    $password="";
    $database="ore";

    mysql_connect(localhost,$username,$password);
    @mysql_select_db($database) or die("Impossibile selezionare il database");
    $query="SELECT * FROM consuntivo ORDER BY anno,mese,giorno,ora_ini asc";
    $risultati=mysql_query($query);

    $num=mysql_numrows($risultati);

    mysql_close();
    ?>

    <form action="modifica.php" method="POST">

    <center>
    <table class="sortable" border="1" cellpadding='4' cellspacing='4' style='border-collapse: collapse' bordercolor='#AAAACC'>
    <tr>
    <th align="center" bgcolor="#FFFF99">✔</th>
    <th align="center" bgcolor="#CCCC33">giorno</th>
    <th align="center" bgcolor="#CCCC66">mese</th>
    <th align="center" bgcolor="#CCCC99">anno</th>
    <th align="center" bgcolor="#F8F8F8">inizio</th>
    <th align="center" bgcolor="#F0F0F0">fine</th>
    <th align="center" bgcolor="#E8E8E8">durata</th>
    <th align="center" bgcolor="#99CCFF">attività</th>
    <th align="center" bgcolor="#FFCC66">categoria</th>
    </tr>

    <?php
    $i=0;
    while ($i < $num) {
    $id=mysql_result($risultati,$i,"id");
    $giorno_sett=mysql_result($risultati,$i,"giorno_se tt");
    $giorno=mysql_result($risultati,$i,"giorno");
    $mese=mysql_result($risultati,$i,"mese");
    $anno=mysql_result($risultati,$i,"anno");
    $ora_ini=mysql_result($risultati,$i,"ora_ini");
    $min_ini=mysql_result($risultati,$i,"min_ini");
    $ora_fine=mysql_result($risultati,$i,"ora_fine");
    $min_fine=mysql_result($risultati,$i,"min_fine");
    $descrizione=mysql_result($risultati,$i,"descrizio ne");
    $categoria=mysql_result($risultati,$i,"categoria") ;
    $tipo=mysql_result($risultati,$i,"tipo");
    ?>

    <tr>
    <td><font face="courier"><input type="radio" name="tick" value="<?php echo $id;?>"></font></td>
    <td><font face="courier"><?php echo $giorno_sett.$giorno;?></font></td>
    <td><font face="courier"><?php echo $mese;?></font></td>
    <td><font face="courier"><?php echo $anno;?></font></td>
    <td><font face="courier"><?php echo $ora_ini.".".$min_ini;?></font></td>
    <td><font face="courier"><?php echo $ora_fine.".".$min_fine;?></font></td>
    <td><font face="courier"><?php echo number_format((((($ora_fine*60)+($min_fine))-(($ora_ini*60)+($min_ini)))/60), 2);?></font></td>
    <td><font face="courier">
    <?php
    {
    if ($tipo == 'f')
    echo "<font color=\"#5882FA\">$descrizione</font>";
    else
    echo "<font color=\"#000000\">$descrizione</font>";
    }
    ?>
    </font></td>
    <td><font face="courier"><?php echo $categoria;?></font></td>
    </tr>

    <?php
    $i++;
    }
    ?>

    </table>

    <p align="right">
    <input type="submit" name="visualizza" value="vedi dati da modificare" />
    </form>

    </code>
    </body>
    </html>

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Per snellire il codice puoi fare cosi

    Codice PHP:
    while (list($id$giorno_sett$giorno$mese$anno$ora_ini$min_ini$ora_fine$min_fine
            
    $descrizione$categoria$tipo) = mysql_fetch_array($risultati)) { 
    Premetto che l'ordine delle variabili sia quello della tabella MySQL.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Per mandare i dati ad un'altra a pagina devi usare una "form".
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    19
    Grazie. Potresti farmi un esempio?

  5. #5
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    In modifica.php basta usare $_POST['tick'] per ottenere l'id del record selezionato.

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    19
    Grazie neroux.

    Mi potresti fare un esempio con qualche riga di codice?
    Sto impazzendo...

  7. #7
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Come già scritto, dopo che hai inviato il modulo basta che fai
    Codice PHP:
    $id=(int)$_POST['tick']; // supponendo che tick sia un intero 
    e $id conterrebbe l'id selezionato. Poi puoi fare tutto quello che ti pare (per esempio un'altra select)

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    19
    OK...
    il problema è che le due pagine PHP ("tabella" e "modifica") non comunicano tra loro.
    non riesco a passare a "modifica" il record che seleziono tramite radio button da "tabella".

  9. #9
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Comunicano tramite il form. Quando premi submit il modulo verrà postato (vedi POST) su modifica.php e lì basta usare il codice postato.

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    19
    Ecco la mia pagina modifica.php
    Mi restituisce una fila di zeri.... come se la pagina "tabella" non passasse alcun record.

    -----------------------------------------------------------
    <html>
    <head>
    <title>modifica</title>
    <META http-equiv="Content-Type" content="text/html; charset=utf-8">
    </head>
    <body>

    <?php
    $username="root";
    $password="";
    $database="ore";

    mysql_connect(localhost,$username,$password);
    @mysql_select_db($database) or die("Impossibile selezionare il database");
    $query="SELECT * FROM consuntivo";
    $risultati=mysql_query($query);

    $num=mysql_numrows($risultati);

    mysql_close();
    ?>

    <?php
    $i=0;
    while ($i < $num) {
    $id=(int)$_POST['tick'];
    $giorno_sett=mysql_result($risultati,$i,"giorno_se tt");
    $giorno=mysql_result($risultati,$i,"giorno");
    $mese=mysql_result($risultati,$i,"mese");
    $anno=mysql_result($risultati,$i,"anno");
    $ora_ini=mysql_result($risultati,$i,"ora_ini");
    $min_ini=mysql_result($risultati,$i,"min_ini");
    $ora_fine=mysql_result($risultati,$i,"ora_fine");
    $min_fine=mysql_result($risultati,$i,"min_fine");
    $descrizione=mysql_result($risultati,$i,"descrizio ne");
    $categoria=mysql_result($risultati,$i,"categoria") ;
    $tipo=mysql_result($risultati,$i,"tipo");
    ?>

    <?php
    echo $id;
    ?>

    <?php
    $i++;
    }
    ?>

    </code>
    </body>
    </html>

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.