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

    [PHP]Passaggio campi da riga tabella a form[/PHP]

    Buonasera a tutti, avrei bisogno del vostro prezioso aiuto, guardando nel forum non ho trovato niente di sufficinetemente chiaro che mi aiuti a capire come risolvere il problema.

    Ho un file PHP "archivio_progetti.php" nel quale visualizzo una tabella prelevata da un database mysql.
    La pagina potrebbe essere aperta per sola la consultazione o per l'eventuale modifica di alcuni campi (di un record alla volta). In quest'ultimo caso, vorrei che si potesse selezionare la riga corrispondente al record da modificare e, premendo un button "modifica", tutti i campi della riga selezionata venissero riportati su un form in una nuova pagina PHP "nuovi_progetti.php" (che sarebbe lo stesso form attraverso il quale inserisco un nuovo record nella tabella mysql).

    La prima domanda è: sono necessari il checkbox e il pulsante button? O si può fare in modo di associare un evento"onClick" su ogni riga della tabella?

    Intanto ho provato ad inserire in ogni riga un checkbox:

    codice:
    <form method="post" action="nuovi_progetti.php" name="check_form">
    
            <?php
    	   	while ($row = mysql_fetch_array($results)) {
    		
    		//$row = mysql_fetch_array($results);
    		//extract ($row);
    
    		echo "<tr>";
    		echo "<td><input type=\"checkbox\" name=\"check\" id=\"$row\"></td>";
      		echo "<td>" . $row['codice_progetto'] . "</td>";
      		echo "<td>" . $row['anno_rif'] . "</td>";
    		echo "<td>" . $row['committente'] . "</td>";
    		echo "<td>" . $row['data_incarico'] . "</td>";
    		echo "<td>" . $row['data_consegna'] . "</td>";
    		echo "<td style='width:100px; height:30px;'><div style='width:100px; height:30px; overflow-y:auto;'>" . $row['dettaglio_progetto'] . "</div></td>";
    		echo "</tr>";
    		
    		}
    		mysql_free_result($results);
    		mysql_close ();
    	  ?>
    		<input class="button_height" type="button" value="Modifica">
    	</form>
    Se questo è corretto, vorrei un aiuto per proseguire.
    In questo modo io starei passando al file action un vettore $POST[] che contiene tutte le righe e quindi tutti i campi della tabella. Credo di dovere controllare, per tutta la lunghezza del vettore $POST[], dove $POST[check] è definita, ma poi come faccio ad accedere agli altri campi della stessa riga? Con l'id? Ma come?
    Spero di essere riuscita a spiegarmi
    Grazie

  2. #2
    Ti consiglio, invece di usare un form con bottoni e checkbox, di sfruttare soltanto un link.
    In questo caso:
    Codice PHP:
    echo "<a href='modifica.php?codp=".$row['codice_progetto']."&annor=".$row['anno_rif']."&commit=".$row['committente']."&dinc=".$row['data_incarico']."&dcons=".$row['data_consegna']."&dettp=".$row['dettaglio_progetto']."'>"
    Poi, nella pagina modifica.php, sfruttare il metodo GET e ricavare i campi, da inserire in ogni text input.

    Esempio:
    codice:
    <input type="text" name="codp" value="<?php echo $_GET['codp']; ?>">

  3. #3
    Ciao, grazie per la risposta

    Purtroppo non riesco a visualizzare l'output. Sostituendo il tuo codice PHP al mio, in questo modo:

    codice:
    while ($row = mysql_fetch_array($results)) {
    		
    echo "<a href='nuovi_progetti.php?codp=".$row['codice_progetto']."&annor=".$row['anno_rif']."&commit=".$row['committente']."&dinc=".$row['data_incarico']."&dcons=".$row['data_consegna']."&dettp=".$row['dettaglio_progetto']."'>";
    }
    non ottengo nessun errore, ma non carico niente dal DB mysql.

    In ogni caso, se riesco a interpretare correttamente il tuo codice, si tratta di una concatenazione di campi del DB, dovrei ottenere una serie di righe con i valori affiancati, ma temo che non essendo in forma tabellare non sarebbe facilmente leggibile.

  4. #4
    Nel frattempo avevo trovato una soluzione che in parte funziona.
    Intanto ho sostituto il checkbox con un radio button in modo da permettere la selezione di una sola riga.
    Poi ho assegnato al "value" del radio il valore del campo "codice_progetto" che è chiave unica nella tabella del DB mysql.

    questa la riga di codice relativa al radio button

    codice:
    echo "<td><input type=\"radio\" name=\"check\" id=\"$row\" value=\"$row[codice_progetto]\"></td>";

    poi, nel file "nuovi_progetti.php"

    codice:
    <?php
    if( isset($_POST['check']) )
    $cod_prog= $_POST['check'];
     ?>
    però questo mi costringe a fare la select SQL per recuperare tutti i campi dal DB, quando invece li avrei già disponibili, trovando il modo di leggerli.

  5. #5
    La mia poca dimestichezza con il PHP mi consente solo ora, dopo aver studiato un po', di capire che il codice che mi hai suggerito:

    codice:
    echo "<a href='modifica.php?codp=".$row['codice_progetto']."&annor=".$row['anno_rif']."&commit=".$row['committente']."&dinc=".$row['data_incarico']."&dcons=".$row['data_consegna']."&dettp=".$row['dettaglio_progetto']."'>";

    è l'alternativa alla checkbox o al radio button, non a tutta la riga!
    Non riuscivo a capire la sintassi. Sarebbe a dire: vai alla pagina modifica.php e passa la stringa contenente tutti i campi della riga selezionata. Ora che l'ho capito, riesco ad apprezzarne l'utilità. Proverò a lavorarci sù.

    Grazie






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.