从表单PHP更新记录数据库
我有一个页面“elenco.php”,其中我显示了表中的所有DB记录,在每一行的末尾,我有一个按钮“edit”,它将用户想要编辑的行的“ID”提交到页面“edit.php” elenco.php从表单PHP更新记录数据库,php,html,mysql,database,Php,Html,Mysql,Database,我有一个页面“elenco.php”,其中我显示了表中的所有DB记录,在每一行的末尾,我有一个按钮“edit”,它将用户想要编辑的行的“ID”提交到页面“edit.php” elenco.php <?php include '/var/www/phpMyEdit/open_dati.php'; $query = "SELECT * FROM scadenziario"; $result= mysql_query($query); echo "
<?php
include '/var/www/phpMyEdit/open_dati.php';
$query = "SELECT * FROM scadenziario";
$result= mysql_query($query);
echo "<h2>Elenco Scadenziario</h2>";
echo "<table border>";
echo "<tr><td>ID</td><td>Aspetto Generale</td><td>Descrizione</td><td>Ragione Sociale</td><td>Numero Civico</td><td>Validita</td><td>Data</td><td>Preavviso</td><td>Scadenza</td><td>Prescrizioni</td><td>Frequenza</td><td>Data Controllo</td><td>Prossimo Controllo</td><td>Note</td>";
while($row = mysql_fetch_array($result)){
echo "<tr><td>" . $row[ID] .
"</td><td>". $row[Aspetto_Generale].
"</td><td>". $row[Descrizione].
"</td><td>". $row[Ragione_Sociale].
"</td><td>". $row[Num_Civico].
"</td><td>". $row[Validita].
"</td><td>". $row[Data].
"</td><td>". $row[Preavviso].
"</td><td>". $row[Scadenza].
"</td><td>". $row[Prescrizioni].
"</td><td>". $row[Frequenza].
"</td><td>". $row[Data_Controllo].
"</td><td>". $row[Prox_Controllo].
"</td><td>". $row[Note].
"</td><td><form action='edit.php' method='POST'><input type='hidden' name='tempID' value='".$row['ID']."'/><input type='submit' name='submit-btn' value='Edit' /><form></td></tr>";
}
echo "</table>";
mysql_close();
?>
但是我不明白为什么在edit.php页面中,id值总是表DB的最后一条记录
例如,我的表有35条记录,如果我在页面“elenco.php”中单击第10行的编辑按钮,在页面edit.php中,我将始终收到ID=35(数据库的最后一条记录)
你们能帮我吗?在elenco.php和edit.php中用mysqli*函数替换你们的mysql*函数 然后检查post数组中的所有内容,并确保使用
var_dump($_POST);
该代码:
$query = "SELECT * FROM scadenziario WHERE ID = '$temp' ";
我假设您的id是整数类型,因此您不必使用“”,请尝试:
$query = "SELECT * FROM scadenziario WHERE ID = $temp ";
希望这能有所帮助。您检查过源代码了吗?您在浏览器控制台上的所有隐藏输入上都看到了35吗?在页面控制台中,我看到每个按钮编辑的值都是正确的,但在页面edit.php中,我总是收到最后一条记录
echo“ID//table;
缺少结束引号,那里几乎没有引号(”
和)
)elenco.php文件中的错误。请更正并再次检查。数组(2){[“tempID”]=>string(2)“35”[“submit btn”]=>string(4)“Edit”}我收到了35个我不明白为什么,您是否尝试用mysqli函数替换mysql?mysql已弃用,因此它可能会给您带来一些问题(您需要将连接链接作为mysqli_查询的第一个参数($connection,$query))我刚刚注意到,在您的elenco.php中,在id值为的表单中,您没有关闭表单,您已经并且应该关闭它
$query = "SELECT * FROM scadenziario WHERE ID = $temp ";