Salve a tutti avrei un problema con la modifica dei record di un database, il problema è questo:
c'è un primo file che effettua uns lista di tutti i record presenti nel db, posto il file:
modCan.php
<html>
<head>
<title>@@@@@ amministrazione - modifica e cancellazione veicoli @@@@</title>
</head>
<body>
<?php
$db_host="localhost";
$db_db="veicoli";
$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>
successivamente da questo file si può scegliere di fare la cancellazione o la modifica dei record, solo che mentre la cancellazione va a buon fine, la modifica no, non riesco a modificare il record, mi dà buca, premesso che da un file all'altro avviene il passaggio di id, qui di seguito vi posto il file:
<html>
<head>
<title>!!!!! M O D I F I C A !!!!!!</title>
</head>
<body>
<?php
$db_host="localhost";
$db_db="veicoli";
$db_user="";
$db_pw="";
$confirm = $_POST['confirm'];
$id = $_POST['id'];
if ($confirm)
{
$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{
if(get_magic_quotes_gpc()){//evita sql injection
$qstring = stripslashes($id);
}
$purchase_id=mysql_real_escape_string($id);
$query = "select * from veicoli where id='$purchase_id'";
$dbResult = mysql_query($query);
$AffectedRows = mysql_num_rows($dbResult);
if ($AffectedRows==0){
echo"<h3>non ci sono 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 ttype=\"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_slc);
}
}
}
else{
$marca=$_POST['marca'];
$modello=$_POST['modello'];
$km=$_POST['km'];
$cat=$_POST['categoria'];
$pz=$_POST['pz'];
$anno=$_POST['anno'];
$opt=$_POST['optional'];
$ft1=$_POST['ft1'];
$ft2=$_POST['ft2'];
$ft3=$_POST['ft3'];
$ft4=$_POST['ft4'];
$query="update veicoli set marca=\"$marca\","."modello=\"$modello.\","."km=\" $km.\","."categoria=\"$cat.\","."pz=\"$pz.\","."an no=\"$anno.\","."optional=\"$opt.\","."ft1=\"$ft1. \","."ft2=\"$ft2.\","."ft3=\"$ft3.\","."ft4=\"$ft4 .\","."where id=$id";
$dbResult= mysql_query($query);
$AffectedRows = mysql_affected_rows($db_slc, $db_slc);
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 cortesemente di aiutarmi in quanto è tutta l'estate che ci sbatto la testa ma non riesco avenirne a capo. Grazie