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:
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?