Salve a tutti anche oggi , haimè vi sottopongo un problema relativo a uno script di modifica record, il problema è questo:
c'è un primo script che fa una lista degli articoli presenti nel db, e si può scegliere se modificare l'articolo oppure cancellarlo, la procedura di cancellazione va bene e nn mi dà il minimo problema, mentre lo script di modifica mi fa vedere l'articolo riesco a modificarlo e mi dice ke la modifica è avvenuta, ma in realtà nel db nn mi ha modificato niente, ovviamente tra uno script e l'altro vi è il passaggio di id, vi posto qui di seguito lo script di listato e quello di modifica:
1) script di listato
<html>
<head>
<title>@@@@@ amministrazione - modifica e cancellazione veicoli @@@@</title>
</head>
<body>
<?php
$db_host="";
$db_db="";
$db_user="";
$db_pw="";
$db_slc = mysql_connect($db_host,$db_user,$db_pw);//connessione al server
$db_cnx= mysql_select_db($db_db, $db_slc);
if(!$db_cnx){
echo 'Errore connessione nn riuscita'.mysql_error().'per favore riporova più tardi';
}
else{
$query="select * from veicoli";//questa è la query di selezione
$dbResult = mysql_query($query);
$AffectedRows = mysql_num_rows($dbResult);//array che mi dice di quante righe è formato il mio db
print"<table border=\"1\">\n";//qua comincia a stampare una tabella contenete i risultati del db
for($index=0; $index<$AffectedRows; $index++)
{
while($row = mysql_fetch_array($dbResult, MYSQL_ASSOC)){
$id = $row["id"];
$marca = $row["marca"];
$modello = $row["modello"];
$km = $row["km"];
$cat = $row["categoria"];
$pz = $row["pz"];
$anno =$row["anno"];
$opt =$row["optional"];
$ft1 =$row["ft1"];
$ft2 =$row["ft2"];
$ft3 =$row["ft3"];
$ft4 =$row["ft4"];
echo "<tr>";
echo "<td>$id</td>";
echo "<td><a href=\"modify.php?id=$id\">Modifica</a></td>";
echo "<td><a href=\"canc.php?id=$id\">Cancella</a></td>";
echo "<td>$marca</td>";
echo "<td>$modello</td>";
echo "<td>$km</td>";
echo "<td>$cat</td>";
echo "<td>$pz</td>";
echo "<td>$anno</td>";
echo "<td>$opt</td>";
echo "<td>$ft1</td>";
echo "<td>$ft2</td>";
echo "<td>$ft3</td>";
echo "<td>$ft4</td>";
echo"</tr>";
}
}
mysql_close($db_slc);
print"</table>\n";
}
?>
</body>
</html>
2) script di modifica.
<html>
<head>
<title>@@@ M O D I F I C A @@@</title>
</head>
<body>
<?php
$db_host="";
$db_db="";
$db_user="";
$db_pw="";
$confirm=$_REQUEST['confirm'];
$id=$_REQUEST['id'];
$db_slc = mysql_connect($db_host,$db_user,$db_pw) or die ("impossibile connettersi");//connessione al server
mysql_select_db($db_db, $db_slc) or die( 'Errore connessione nn riuscita'.mysql_error().'per favore riporova pi� tardi');
/*echo"<pre>";//test
print_r($_REQUEST );*/
if(!$confirm)
{
$query="select * from veicoli where id=$id";//mah!!!
echo $query;//test
$dbResult=mysql_query($query, $db_slc);//$db_slc
$AffectedRows = mysql_affected_rows($db_slc);
if ($AffectedRows==0)
{
echo '<h3>Attenzione!!!! non sono stati riscontrati record con i criteri selezionati</h3>';
}
else
{
mysql_data_seek($dbResult, 0);
$row=mysql_fetch_row($dbResult);//si tira fuori il numero di righe del risultato
print("<table>");
print("<form method=\"post\" action=\"{$_SERVER['PHP_SELF']}\">");//qui hai sostituito il get cn il post
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=\"1000\"></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);
}
}else{
$marca=$_REQUEST['marca'];
$modello=$_REQUEST['modello'];
$km=$_REQUEST['km'];
$cat=$_REQUEST['categoria'];
$pz=$_REQUEST['pz'];
$anno=$_REQUEST['anno'];
$opt=$_REQUEST['optional'];
$ft1=$_REQUEST['ft1'];
$ft2=$_REQUEST['ft2'];
$ft3=$_REQUEST['ft3'];
$ft4=$_REQUEST['ft4'];
$query="update veicoli set marca=\"$marca\","."modello=\"$modello\","."km=\"$ km\","."categoria=\"$cat\","."pz=\"$pz\","."anno=\ "$anno\","."optional=\"$opt\","."ft1=\"$ft1\","."f t2=\"$ft2\","."ft3=\"$ft3\","."ft4=\"$ft4\","."whe re id=$id";
echo $query;
$dbResult= mysql_query($query, $db_slc);
$AffectedRows = mysql_affected_rows($db_slc);
echo $AffectedRows;//test
if ($AffectedRows !=0)
{
print("<h3> Record aggiornato!!!!</h3>");
print("<h3><a href=\"modCan.php\">torna alla lista</a></h3>");
}
mysql_close($db_slc);
}
?>
</body>
</html>
Vi chiedo di darmi una mano è da oggi pomeriggio che c provo ma nn ci riesco, ho porvato a stampare la prima query come test e mi da i valori corretti, poi ho porvato a stampare $affectedRows e me lo dà errore ma di più nn sò dirvi, Vi ringrazio per la vostra attenzione