从表单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 "

我有一个页面“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 "<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 ";