Ciao a tutti,
ho creato un database in MySql oltre allo script per visualizzarlo in una pagina html ho preparato uno script per la mofica dei record. Se viene passato il valore US, dovrebbe essere creato dinamicamente il form di modifica dei dati, ogni campo di testo è già preimpostato con il valore di quel campo in quel record. L’utente può quindi modificare le informazioni di dettaglio dei singoli campi o lasciarle invariate.Alla pressione del campo “Conferma” tutti questi dati vanno ad aggiornare l'archivio.
Lo script in questione però non mi dà il risultato aspettato e non capisco dove possa essere l'errore.
Riporto lo script:
Codice PHP:
<?php
$db_host = "localhost";
$db_user = "root";
$db_password = "";
$db_name = "archeologia";
$password = "";
$confirm=$REQUEST['confirm'];
$id=$_REQUEST['US'];
$db = mysql_connect($db_host, $db_user, $db_password)
or die ("Errore nella connessione. ");
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. ");
if(!$confirm)
{
$query="select * from `archivio mursia` where 'US'=$US";
$dbResult= mysql_query($query, $db);
$AffectedRows=mysql_affected_rows($db);
if ($AffectedRows==0)
{
print("<h3>Non esistono record con i criteri selezionati</h3>");
}
else
{
mysql_data_seek($dbResult,0);
$row=mysql_fetch_row($dbResult);
print("<table>");
print("<form method=\"post\"action=\"{$_SERVER['PHP_SELF']}\">");
foreach ($row as $k => $v)
{
$myfield =mysql_fetch_field($dbResult, $k);
print ("<tr><td>$myfield->name</td>");
print ("<td><input type=\"text\" value=\"".$v."\" name=\" " . $myfield->name . "\" size=\"100\" maxlength=\"100\"></td></tr>");
}
print("<tr><td colspan=\"2\"><input type=\"submit\" value=\"Conferma modifiche\">
</td></tr>");
print("<input type=\"hidden\" name=\"confirm\" value=\"1\">");
print("</form>");
print("</table>");
mysql_free_result($dbResult);
mysql_close($db);
}
}
else
{
$US= $_REQUEST['US'];
$GIS=$_REQUEST['GIS'];
$LOCALITA=$_REQUEST['LOCALITA'];
$CRITERI=$_REQUEST['CRITERI'];
$query= "update `archivio mursia` set
US=\"$US\","."
GIS=\"$GIS\","."
LOCALITA=\"$LOCALITA\","."
`CRITERI DI DISTINZIONE`=\"$CRITERI\","."
"where 'US'=$US";
$dbResult= mysql_query($query, $db)or die(mysql_error());
$AffectedRows=mysql_affected_rows($db);
if ($AffectedRows!=0)
{
print("<h3>Il record è stato aggiornato</h3>");
print("<h3><a href=\"visualizza database evoluto.php\">Torna all'archivio</a></h3>");
}
mysql_close($db);
}
?>