Ho una form i cui campi si popolano dei valori di una riga ben definita.
Questa operazione di autocompletamento serve per guidare l'utente alla modifica dell'intera riga. L'istruzione viene passata via $_GET alla form per mezzo di questo link:
codice:
modifica
Il browser a questo punto riceve per esempio:
codice:
index.php?pagina=aree/modifica_aree&tabella=aree&record=Area&riga=Stoccaggio materie prime
Clickando sul link si viene reindirizzati alla form (modifica_aree.php) per la modifica della riga interessata:



Codice PHP:
<html>
<?php 
include 'config.php';  
$tabella=$_GET["tabella"]; 
$record=$_GET["record"]; 
$riga=$_GET["riga"];  

//Seleziona tutti i record della tabella dove nel campo è contenuto il valore che scelgo ($riga)
 
$da_modificare="SELECT * FROM $tabella WHERE $record = '$riga'"

$risultato=mysql_query($da_modificare);   
if (!
$risultato) {     
die(
"Errore nella query $query: " mysql_error()); 
}  
$da_modificare = array(); 
while (
$row mysql_fetch_assoc($risultato)) {    
$da_modificare[] = $row;     
?>  

<body> <div style="background-color:#F2F2F2">
<fieldset> <legend>Modifica Aree</legend> 
<form name="modifica_area" method="post" 
action="http://localhost/MyScript/Tutorial/pagine aree/raccolta_dati_area.php?azione=modifica">  
<?php foreach($da_modificare as $riga):?> <table width="200" border="0"> 
<input type="hidden" name="tabella" value="aree" />   <tr>     
<th align="left" scope="row"><span class="Stile3">Nome Area</span></th>     
<td><input name="Area" type="text" size="50" maxlength="255" value="<?php echo $riga['Area']?>"></td></tr>    
<tr><th align="left" scope="row"><span class="Stile3">Descrizione</span></th>     

<td><textarea name="descrizione" cols="50" rows="5"><?php echo $riga['descrizione_area']?></textarea></td>   </tr>     
<tr><th align="left" scope="row"><span class="Stile3">Superficie</span></th>
<td><input name="superficie" type="text" size="50" 
value="<?php echo $riga['superficie_area']?>"></td>   
</tr>


<input type="submit" name="modifica" value="Modifica area"></p>
</fieldset>
</div>
<?php endforeach;
mysql_close();
La query in raccolta_dati_aree.php è questa:
Codice PHP:
if($azione=="modifica") {  
$area=$_POST['Area']; 
$descrizione_area=$_POST['descrizione']; 
$query="UPDATE '$tabella' SET Area, descrizione_area, = '$area','$descrizione' WHERE '$record' = '$riga'";
 }   
mysql_query($query) or die("aggiornamento fallito"); 
Il problema è che all'invio dei dati non fa nulla a parte un refresh della pagina.

Dove sbaglio?