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

    Form per aggiornamento dati

    Ciao a tutti!....volevo chiedervi aiuto....

    ho una pagina .php che visulizza, in pratica, in alto una sezione con un form da compilare,dove vengono fatte delle domande:

    codice:
    <form method="post" runat="server" action="<?php echo $_SERVER['PHP_SELF']; ?>" autocomplete="on"> 
        <table class="table" align="center">
          <tr>
            <td align="center" colspan="8" class="registro"><h1>REGISTRO</h1></td>
        </tr>
    
          <tr class="lbl">  
             <td class="lbl"; align="center">DATA</td>
           </td>
         <td class="lbl"; align="center">UTENTE
           </td>
         <td class="lbl"; align="center">CATEGORIA
           </td>
         <td class="lbl"; align="center">SOTTO<br>CATEGORIA
           </td>
             <td class="lbl"; align="center">STATO
           </td>
         </tr>
          <tr>   
             <td> <input type="text" id="data"  name="data" value="" size="10" autocomplete="on">
           </td>
         <td> <input type="text" id="ut"  name="ut" value="" size="15" autocomplete="on">
           </td>
         <td> <input type="text" id="cat"  name="cat" value="">
           </td>
         <td> <input type="text" id="sotcat"  name="sotcat" value="" size="15" autocomplete="on">
           </td>
             <td> <select id="stato"  name="stato" value="">
            <option></option>
            <option>Aperta</option>
            <option>Chiusa</option>
            <option>Annullata</option>
              </select>
           </td>
         </tr>
           <tr>
             <td class="lbl"; align="center"; colspan="8">DESCRIZIONE
           </td>
         </tr>
           <tr>
         <td colspan="8"> <input type="text" class="desc" id="desc"  name="desc" value="" size="137" autocomplete="on">
           </td>
         </tr>
           <tr>
         <td align="center"; colspan="8"><input type="submit" name="inserisci" value="Inserisci"></td>
         </tr>
       </table>
      </form>


    Subito sotto vengono mostrate tutte le domande fatte, praticamente una select di tutte le righe presenti nella tabella del db:

    codice:
    <table class="tableregistro" border=1 cellspacing=0 cellpadding=3>
    <?php
    
    $HOST = 'localhost';
     $USER = 'xxxxx';
     $PASSWORD = 'yyyyyyyy';
    $connessione = mysql_connect("$HOST","$USER","$PASSWORD");//database connection
    mysql_select_db("xxxyyyy");
    
    
    $sql = "SELECT * FROM `Registro`\n"
        . "ORDER BY `Registro`.`id` DESC";
    $result = mysql_query($sql);
    
    while($r = mysql_fetch_array($result)) {
    
    //Grazie ancora a n1k4r0 per avermi aiutato con la risoluzione di questo mio precedente problema
    
    $d = explode("-", $r['data']);
    $dataRelIta = $d[2]. "/" .$d[1] . "/" .$d[0];
    
    echo "<tr bgcolor='#FF8C69'>
          <td>".$r['id']."</td>".
         "<td style='width: 80px;'>".$dataRelIta."</td>".
         "<td>".$r['utente']."</td>".
         "<td>".$r['categoria']."</td>".
         "<td style='width: 80px;'>".$r['sottocategoria']."</td>".
         "<td style='width: 400px;'>".$r['descrizione']."</td>".
         "<td>".$r['stato']."</td>".
        </tr>";
    
    }
    
    mysql_close($connessione);
    ?>
    </table>


    Ora, per la modifica dei record (in pratica la modifica dello stato della domanda "Aperta,Chiusa,In corso, Annullata")

    Ho creato una seconda pagina , speculare alla prima , dove però nella riga dove vengono mostrate le domande fatte, aggiungo un tasto 'Modifica'


  2. #2
    codice:
    $sql = "SELECT * FROM `Registro` WHERE stato = \"Aperto\"\n"
        . "ORDER BY `Registro`.`id` DESC";
    $result = mysql_query($sql);
    
    while($r = mysql_fetch_array($result)) {
    
    $d = explode("-", $r['data']);
    $dataRelIta = $d[2]. "/" .$d[1] . "/" .$d[0];
    
    echo "<tr bgcolor='#FF8C69'><td>"."<input type='submit' name='Modifica' value='Modifica'>"."</td>".
         "<td>".$r['id']."</td>".
         "<td style='width: 80px;'>".$dataRelIta."</td>".
         "<td>".$r['richiedente']."</td>".
         "<td>".$r['reparto']."</td>".
         "<td>".$r['categoria']."</td>".
         "<td style='width: 80px;'>".$r['sottocategoria']."</td>".
         "<td>".$r['operatore']."</td>".
         "<td style='width: 400px;'>".$r['descrizione']."</td>".
         "<td>".$r['stato']."</td>".
         "<td>".$r['tempoimpiegato']."</td>
        </tr>";  
    La mia domanda è : Come faccio a fare in modo che alla pressione del tasto 'Modifica' il form sovrastante si autocompili con i dati presenti nel db....permettendo poi la modifica dello stato della richiesta?

    Spero di essere stato chiaro...

    Grazie a chi vorrà darmi una mano

  3. #3
    Nessuno ha un suggerimento? .......please!

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Devi avere una form per ogni riga.
    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

  5. #5
    Una form per ogni riga. ....
    Ok...grazie badaze....è già un suggerimento. ...
    Ma mi aiuti a capire meglio? ....come fare?
    Ultima modifica di antonioantonio; 20-10-2015 a 07:54

  6. #6
    Allora...
    provando a risolvere la cosa, ho pensato di aggiungere nel form un input type dove inserire l'id della richiesta da modificare, con accanto un tasto cerca,

    A questo cercherò di fare in modo che recuperando l'id , anche le caselle del form si autocompilino con i dati relativi all'id recuperato.

    Per il momento faccio solo una prova di stampa a video dei valori recuperati....prova che fallisce inesorabilmente, a video non viene stampato nulla!!!

    Dove sbaglio? Vi posto il codice:

    codice:
    if(isset($_POST['Cerca'])){ 
    
    $id = $_POST['Cerca'];
    
    $sql = "SELECT * FROM `Registro` WHERE id = '".$id."'";
    
    $result = mysql_query($sql);
    
    while($r = mysql_fetch_array($result)) {
    
    
    $d = explode("-", $r['data']);
    $dataRelIta = $d[2]. "/" .$d[1] . "/" .$d[0];
    
    echo "<tr><td style='width: 80px;'>".$dataRelIta."</td>".
         "<td>".$r['richiedente']."</td>".
         "<td>".$r['categoria']."</td>".
         "<td style='width: 80px;'>".$r['sottocategoria']."</td>".
         "<td style='width: 400px;'>".$r['descrizione']."</td>".
         "<td>".$r['stato']."</td>".
        </tr>";  




  7. #7
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Prova questi. Dovrai rimpiazzare il codice di connessione al database ( include('class.db.001.php');
    $connexion = DB::connect(); ) con il tuo.
    Si puo' di sicuro fare di meglio ma un paio di ore fa non sapevo nemmeno che questo fosse possibile.

    test520c.php usa ob_start quindi non deve esserci alcun carattere prima del primo <?php

    File test520.php

    Codice PHP:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <
    html>
    <
    head>
    <
    title>Untitled</title>
    <
    script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
    <script language="JavaScript" type="text/javascript">
    <!--

    //---- Carico la tabella
    $( document ).ready(function() {
     loadTable();
    });

    function loadTable() { 
     var queryString = 'rnd'+Math.random();
     $.get('test520c.php', queryString, resetData); 
    } // function loadTable()

    function resetData(data) {
     document.getElementById('id').value      = "";
      document.getElementById('nome').value    = "";
      document.getElementById('cognome').value = ""; 
      document.getElementById('stato').value   = " ";  
      $('#container').html(data);
    } // function fullfillContainer(data)

    function getRecord(anId) {
     //---- salvo l'id del record da modificare
     document.getElementById('id').value = anId;
     //---- leggo la tabella per ricavare i dati
     var queryString = 'id=' +anId+'&rnd'+Math.random();
     $.get('test520a.php', queryString, processResponse); 
    } // function getRecord(anId)

    function processResponse(data) {
      a = data.split('||');
     document.getElementById('id').value      = a[0];
      document.getElementById('nome').value    = a[1];
      document.getElementById('cognome').value = a[2]; 
      document.getElementById('stato').value   = a[3];  
    } // function processResponse(data)

    function update() {
     //---- aggiorno la tabella 
     anId  = document.getElementById('id').value;
     stato = document.getElementById('stato').value;
     if (anId == "") {
      alert('Seleziona una riga !!!');
     return;
     } //  if (stato == " ")   
     
     if (stato == " ") {
      alert('Lo stato è obbligatorio');
     return;
     } //  if (stato == " ")  
     
     var queryString = 'id=' +anId+'&stato='+stato+'&rnd'+Math.random();
     $.get('test520b.php', queryString, processResponse2); 
    } // function update()

    function processResponse2(data) {
     //---- Ricarico la pagina
     loadTable();
    } // function processResponse2(data)  

    //-->
    </script>
    </head>
    <body>
    <div>
     <input type="hidden" name="id" id="id" />
     <table summary="">
      <tr>
        <td>Nome :</td><td><input type="text" name="nome" id="nome" value="" disabled="true" /></td>
      </tr>
     <tr>
       <td>Cognome :</td><td><input type="text" name="cognome" id="cognome" value="" disabled="true" /></td>
     </tr>
     <tr>
      <td>Stato :</td>
      <td>
        <select name="stato" id="stato">
           <option value=" "><-- Seleziona --></option> 
           <option value="0">Aperta</option>
           <option value="1">Chiusa</option>
           <option value="2">Annullata</option>
         </select> 
      </td>
     </tr>
     <tr>
      <td colspan="3" align="center"><hr/><input type="button" value="Modifica" onclick="update()"/></td>
     </tr>
     </table>
    </div>
    <hr/>
    <div id="container"></div>
    <script language="JavaScript" type="text/javascript">
    <!--
    //-->
    </script>
    </body>
    </html> 

    File test520a.php - lettura di un record
    Codice PHP:
    <?php 
     
    // script a scopo informativo - nessuna sicurezza anti hacking 
     
    include('class.db.001.php');
     
    $connexion =  DB::connect();
     
    $id        $_GET['id'];
     
    //---- Record
     
    $queryString "select id,nome,cognome,stato from tabella001 where id='$id'";
     
    $result      mysqli_query($connexion,$queryString) or die(mysqli_error($connexion));  
     list(
    $id,$nome,$cognome,$stato) = mysqli_fetch_array($result);
     
    $nome    stripslashes($nome);
     
    $cognome stripslashes($cognome); 
     echo 
    "$id||$nome||$cognome||$stato";
    ?>

    File test520b.php - aggiornamento record
    Codice PHP:
    <?php 
     
    // script a scopo informativo - nessuna sicurezza anti hacking 
     
    include('class.db.001.php');
     
    $connexion =  DB::connect();
     
    $id        $_GET['id'];
     
    $stato   $_GET['stato'];
     
    //---- Record
     
    $queryString "update tabella001 set stato='$stato' where id='$id'";
     
    $result      mysqli_query($connexion,$queryString) or die(mysqli_error($connexion));   
     echo 
    "$id || $stato";
    ?>


    File test520c.php - Tabella dei dati

    Codice PHP:
    <?php 
     
    include('class.db.001.php');
     
    $connexion =  DB::connect();
     
    //---- Pages
     
    $queryString 'select id,nome,cognome,stato from tabella001 order by cognome, nome';
     
    $result      mysqli_query($connexion,$queryString) or die(mysqli_error($connexion)); 
     
    ob_start();?>
    <table summary=""><?php 
     
    while (list($id,$nome,$cognome,$stato) = mysqli_fetch_array($result)) {
       
    $nome    stripslashes($nome);
      
    $cognome stripslashes($cognome); ?>
     <tr>
      <td><?php print $nome ?></td>
     <td><?php print $cognome ?></td>
     <td>
        <select value="<?php print $stato ?>" disabled="true">
           <option value=" "><-- Seleziona --></option> 
           <option value="0" <?php print $stato == '0' 'selected' ''?>>Aperta</option>
           <option value="1" <?php print $stato == '1' 'selected' ''?>>Chiusa</option>
           <option value="2" <?php print $stato == '2' 'selected' ''?>>Annullata</option>
         </select> 
     </td>
     <td>
       <input type="button" name="sel" value="Seleziona" onclick="getRecord(<?php print $id ?>)" />
     </td>
     </tr><?php 
     
    ?>
    </table><?php
    $content 
    ob_get_contents();
    ob_end_clean();
    echo 
    $content;?>

    Struttura tabella e dati
    Codice PHP:

    --
    -- 
    Structure de la table `tabella001`
    --
    CREATE TABLE IF NOT EXISTS `tabella001` (
      `
    idint(11NOT NULL AUTO_INCREMENT,
      `
    nomevarchar(50NOT NULL,
      `
    cognomevarchar(50NOT NULL,
      `
    statoint(11NOT NULL,
      
    PRIMARY KEY (`id`)
    ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=;
    --
    -- 
    Contenu de la table `tabella001`
    --
    INSERT INTO `tabella001` (`id`, `nome`, `cognome`, `stato`) VALUES
    (1'Pippo''Rossi'0),
    (
    2'Caio''Bianchi'1),
    (
    3'Pluto''Verdi'1),
    (
    4'Gaio''Gatti'0); 
    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

  8. #8
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    aaa0001.jpg

    aaa0002.jpg
    Immagini allegate Immagini allegate
    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

  9. #9
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    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

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.